一、docker桌面
二、docker的配置文件
1、docker配置文件位置/etc/docker/daemon.json
使用json格式,graph=data-root
{"graph":"/deploy/docker","registry-mirrors": ["https://8auvmfwy.mirror.aliyuncs.com"],"insecure-registries": ["192.168.1.2","192.168.1.3:5000"],"live-restore": "true","exec-opts": ["native.cgroupdriver=systemd"],"storage-driver":"overlay2","ipv6": false,"bip":"172.18.0.1/24""default-address-pools": [{"scope": "local","base":"172.17.0.0/16","size":24}],"log-driver": "json-file","log-opts": {"max-size": "50m","max-size": "5m"}
}
graph:docker根目录的存放位置
registry-mirrors:镜像加速器
insecure-registries:指定信任仓库
live-restore:容器的存活不依赖与docker引擎,docker引擎停止不影响容器运行
native.cgroupdriver:指定cgroup驱动,默认值为cgroupfs,推荐值为systemd
storage-driver:存储驱动,overlay2、devicemapper、aufs
log-driver:日志驱动,json-file
bip:设置Docker0的默认IP,bip:设置Docker0的默认IP,
default-address-pools:配置容器使用的子网地址池base:指定CIDR网段,172.17.0.0/16表示子网掩码长度为16。相当于主网络size:变长子网掩码,数值要大于等于16。相当子网络
log-opts:日志策略。单个日志文件最大50M,最多保留3个
ipv6:是否开启ipv6,true,false
仅当storage-driver为devicemapper时可用
指定单个容器可用数据空间20GB、docker可用数据空间200GB、元数据可用空间4GB
{"storage-opt": [ "dm.basesize=20G","dm.loopdatasize=200G","dm.loopmetadatasize=4G" ]
}
2、案例
注:graph=data-root
{
"data-root": "/data/docker",
"insecure-registries": ["192.168.65.129:80"],
"registry-mirrors": ["https://8auvmfwy.mirror.aliyuncs.com"],
"log-driver": "json-file",
"log-opts": {"max-size": "100m","max-file": "3"},
"default-ulimits": {"nofile": {"Name": "nofile","Hard": 128000,"Soft": 128000}
}
}
三、docker引擎
(一)安装
1、contos7 安装
1.1 卸载旧版本
$ sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
卸载 Docker 时,存储在 中的映像、容器、卷和网络不会自动删除。/var/lib/docker/
1.2 安装方法
您可以根据需要以不同的方式安装 Docker 引擎:
- 您可以设置 Docker 的存储库并安装 从他们那里,以便于安装和升级任务。这是 推荐的方法。
- 您可以下载 RPM 软件包并手动安装并管理 完全手动升级。这在安装等情况下很有用 在无法访问互联网的气隙系统上的 Docker。
- 在测试和开发环境中,您可以使用自动化的便利脚本来安装 Docker。
1.3 使用yum安装
1.3.1 设置yum源
$ sudo yum install -y yum-utils
$ sudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo
1.3.2 安装 Docker 引擎
1、安装 Docker Engine、containerd 和 Docker Compose
安装最新版本
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
安装之前版本
$ yum list docker-ce --showduplicates | sort -r
$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-buildx-plugin docker-compose-plugin
此命令安装 Docker,但不启动 Docker。它还会创建一个组,但是,默认情况下不会向该组添加任何用户。docker
2、启动 Docker
$ sudo systemctl start docker
3、通过运行映像来验证 Docker 引擎安装是否成功。hello-world
$ sudo docker run hello-world
1.4 升级docker引擎
要升级 Docker 引擎,请按照安装说明进行操作, 选择要安装的新版本。
1.5 从包安装
如果您无法使用 Docker 的存储库来安装 Docker,您可以下载您的版本文件并手动安装。
-
转到 https://download.docker.com/linux/centos/ 并选择您的 CentOS 版本。然后浏览并下载要安装的 Docker 版本的文件。
x86_64/stable/Packages/``.rpm
-
安装 Docker 引擎,将下面的路径更改为下载 Docker 包的路径
$ sudo yum install /path/to/package.rpm
Docker 已安装,但尚未启动。组已创建,但没有 用户将添加到组中。
docker
-
启动 Docker。
$ sudo systemctl start docker
-
通过运行映像来验证 Docker 引擎安装是否成功。
hello-world
$ sudo docker run hello-world
此命令下载测试映像并在容器中运行它。当 容器运行,它会打印确认消息并退出。
1.6 使用脚本安装(最新版)
$ curl -fsSL https://get.docker.com -o get-docker.sh$ sudo sh ./get-docker.sh --dry-run
1.7 卸载Docker
-
卸载 Docker Engine、CLI、containerd 和 Docker Compose 软件包:
$ sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
-
主机上的映像、容器、卷或自定义配置文件 不会自动删除。删除所有映像、容器和 卷:
$ sudo rm -rf /var/lib/docker$ sudo rm -rf /var/lib/containerd
您必须手动删除任何已编辑的配置文件。
2、linux安装静态二进制文件
-
下载静态二进制存档。转到 https://download.docker.com/linux/static/stable/, 选择您的硬件平台,然后下载与 要安装的 Docker 引擎版本。
.tgz
-
使用该实用程序提取存档。提取 和 二进制文件。
tar``dockerd``docker
$ tar xzvf /path/to/<FILE>.tar.gz
-
可选:将二进制文件移动到可执行文件路径上的目录,例如 如。如果跳过此步骤,则必须提供 调用或命令时可执行。
/usr/bin/``docker``dockerd
$ sudo cp docker/* /usr/bin/
-
启动 Docker 守护进程:
$ sudo dockerd &
如果需要使用其他选项启动守护进程,请修改上述内容 命令或创建并编辑文件以添加自定义配置选项。
/etc/docker/daemon.json
-
通过运行映像验证 Docker 是否已正确安装。
hello-world
$ sudo docker run hello-world
此命令下载测试映像并在容器中运行它。当 容器运行,它会打印一条消息并退出。
3、以非 root 用户身份管理 Docker
要创建组并添加用户,请执行以下操作:docker
-
创建组。
docker
$ sudo groupadd docker
-
将您的用户添加到组中。
docker
$ sudo usermod -aG docker $USER
-
注销并重新登录,以便重新评估您的组成员身份。
如果您在虚拟机中运行 Linux,则可能需要 重新启动虚拟机以使更改生效。
您还可以运行以下命令来激活对组的更改:
$ newgrp docker
-
验证是否可以在没有 .
docker``sudo
$ docker run hello-world
此命令下载测试映像并在容器中运行它。当 容器运行,它会打印一条消息并退出。
如果您最初在添加用户之前运行了 Docker CLI 命令 对于该组,您可能会看到以下错误:
sudo``docker
WARNING: Error loading config file: /home/user/.docker/config.json - stat /home/user/.docker/config.json: permission denied
此错误表示目录的权限设置不正确,因为之前使用了该命令。
~/.docker/``sudo
若要解决此问题,请删除目录(已重新创建) 自动,但任何自定义设置都将丢失),或更改其所有权和 使用以下命令的权限:
~/.docker/
$ sudo chown "$USER":"$USER" /home/"$USER"/.docker -R $ sudo chmod g+rwx "$HOME/.docker" -R
4、将 Docker 配置为使用 systemd 启动启动
许多现代 Linux 发行版使用 systemd 来 管理系统引导时启动哪些服务。在 Debian 和 Ubuntu 上, 默认情况下,Docker 服务在启动时启动。要自动启动 Docker 和 对于使用 systemd 的其他 Linux 发行版,在引导时运行 以下命令:
$ sudo systemctl enable docker.service
$ sudo systemctl enable containerd.service
若要停止此行为,请改用。disable
$ sudo systemctl disable docker.service
$ sudo systemctl disable containerd.service
如果需要添加 HTTP 代理,请为 Docker 运行时文件,或进行其他自定义,请参阅自定义 systemd Docker 守护程序选项。
5、配置默认日志记录驱动程序
Docker 提供日志记录驱动程序 从主机上运行的所有容器收集和查看日志数据。这 默认日志记录驱动程序 ,将日志数据写入 JSON 格式的文件 主机文件系统。随着时间的推移,这些日志文件的大小会扩大,导致 磁盘资源可能耗尽。json-file
为避免过度使用磁盘存储日志数据的问题,请考虑以下事项之一 选项:
- 配置日志记录驱动程序以启用日志轮换
json-file
- 使用备用日志记录驱动程序,例如默认执行日志轮换的“本地”日志记录驱动程序
- 使用将日志发送到远程日志记录聚合器的日志记录驱动程序。