Docker 相关

   Updated: 2020-11-04 12:58       Docker 相关无评论

CentOS 下安装 Docker 和 Docker Compose

准备工作

1、检测内核版本:

Docker 要求 CentOS 系统的内核版本高于 3.10(CentOS 7 内核应该就是 3.10)

# 检查内核版本
uname -r

2、更新到最新 yum 包:

yum update -y

3、安装需要的软件包:

# yum-util 提供 yum-config-manager 功能, 另外两个是 devicemapper 驱动依赖
yum install -y yum-utils device-mapper-persistent-data lvm2

4、设置 yum 源:

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

安装 Docker

1、安装最新稳定版的 docker:

sudo yum install docker-ce docker-ce-cli containerd.io

如果上述命令运行出错,可能是系统(如 CentOS 8)上安装有旧版本的 Docker,需要先卸载旧版本:

yum remove docker docker-common docker-selinux docker-engine docer-io

2、启动并加入开机启动:

systemctl start docker
systemctl enable docker

3、验证安装是否成功:

# 有 client 和 service 两部分表示 docker 安装并启动成功了
docker version

安装 Docker-Compose

Docker-Compose 是干什么的?Docker-Compose 是一个用来整合多个 Docker 服务的工具。它利用 docker-compose.yml 文件代替复杂的 docker run 命令,并可同时运行多个 Docker 容器。docker-compose 入门指南

Docker Compose 的安装比较简单,将文件下载下来即可。访问 https://github.com/docker/compose/releases/latest 记录下最新的 docker-compose 版本号(例如:1.27.4),然后执行命令下载 docker-compose。

1、下载最新版本的 docker-compose 到 /usr/local/bin 目录下:

sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

2、授予 docker-compose 文件可执行权限:

chmod +x /usr/local/bin/docker-compose

3、测试安装是否成功(可能需要先重启操作系统):

# 安装成功会显示 docker-compose 版本
docker-compose -v

为 Docker 设置代理

配置代理

由于国内特殊的网络环境,通过代理的话,可能能加快镜像的拉取速度。但即使为 CentOS 配置了代理,也不会对 Docker 起作用,因为 Docker 属于应用层,需要单独为其配置代理。

1、创建 docker 配置文件夹

mkdir /etc/systemd/system/docker.service.d

2、创建并编辑 http-proxy.conf 文件

vim /etc/systemd/system/docker.service.d/http-proxy.conf

写入如下内容:

[Service]
Environment="HTTP_PROXY=http://192.168.0.11:2080" "NO_PROXY=localhost,127.0.0.1"

3、创建并编辑 https-proxy.conf 文件

vim /etc/systemd/system/docker.service.d/https-proxy.conf

写入如下内容:

Environment="HTTPS_PROXY=http://192.168.0.11:2080" "NO_PROXY=localhost,127.0.0.1"

以上的 IP 地址和端口根据实际修改(以自己电脑上运行的某软件作为代理为例,可能需要将监听地址由 127.0.0.1 改为 0.0.0.0,表示监听所有的代理请求,否则只能本机

4、运行以下命令使生效

systemctl daemon-reload #重新加载 systemd 守护进程的配置
systemctl restart docker #重启 Docker

删除代理

1、删除 /etc/systemd/system/docker.service.d 文件夹:

rm -rf /etc/systemd/system/docker.service.d

2、并运行以下命令使生效:

systemctl daemon-reload #重新加载 systemd 守护进程的配置
systemctl restart docker #重启 Docker

Docker 容器和镜像的查看和删除

查看容器:

docker ps #查看运行中的容器
docker ps -a #查看所有容器

删除某个容器:

docker rm <container id>

查看镜像:

docker images #查看镜像

删除某个镜像:

docker rmi <image id>

故障处理

创建容器时报错类似如下内容:

docker: Error response from daemon: driver failed programming external connectivity on endpoint xxxx ...... (iptables failed: iptables ......

解决:重启 Docker systemctl restart docker

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注