docker镜像管理

1、安装docker

  • yum安装
# 安装依赖包
yum install -y yum-utils
# 添加docker源
yum-config-manager --add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装docker-ce
yum install -y docker-ce
# 启动并验证
systemctl start docker
docker info
# 设置开机启动
systemctl enable docker

官方文档:https://docs.docker.com

  • 二级制安装
# 解压二进制包
tar xf docker-20.10.3.tgz -C /usr/bin/ --strip-components=1
# 设置systemctl启动
vi /usr/lib/systemd/system/docker.service

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

# 设置docker启动和开机自启
systemctl start docker
systemctl enable docker

2、docker版本

  • 社区版(docker-ce)

  • 企业版(docekr-ee)

生产环境大多用docker-ce

3、镜像是什么

  • 一个分层存储的文件,不是一个单一的文件

  • 一个软件的环境

  • 一个镜像可以创建N个容器

  • 一种标准化的交付

  • 一个不包含linux内核而又精简的linux操作系统

4、镜像从哪里来

  • docker hub是由docker公司负责维护的公共注册中心,包含大量的容器镜像,docker工具默认从公共镜像库下载镜像

地址:https://hub.docker.com

  • 配置镜像加速器
vi /etc/docker/daemon.json
{  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn"
  ],
 "exec-opts": ["native.cgroupdriver=systemd"] 
}

5、镜像与容器联系

  • 当启动一个新的容器时,docker会加载只读镜像,并在其上添加一个读写层,即容器层

6、镜像管理常用命令

7、镜像存储核心技术:联合文件系统(UnionFS)

  • docker引入联合文件系统,将镜像多层文件联合挂载到容器文件系统

8、镜像存储核心技术:写时复制(COW)

  • docker引入写时复制(copy-on-write)技术,需要进行文件修改时,会先从镜像里把要写的文件复制到自己的文件系统中进行修改。

9、优化建议

  • 使用SSD固态硬盘

  • 使用卷作为频繁读写文件的工作目录,绕过存储驱动,减少抽象的开销。

posted @ 2021-02-18 12:38  那就这样吧~  阅读(78)  评论(0编辑  收藏  举报