安装Docker

# 安装Docker

官方安装、卸载文档 (opens new window)

参考菜鸟教程 (opens new window)

安装 Docker Engine-Community curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

启动service docker start

开机自启systemctl enable docker

删除安装包yum remove docker-ce

删除镜像容器配置文件rm -rf /var/lib/docker

# 配置监听端口

vi /lib/systemd/system/docker.service

找到ExecStart行,修改为:ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375 重新加载 systemd 的配置,并重启 Docker 服务:

systemctl daemon-reload
systemctl restart docker
1
2

# 安装Docker Compose

官方文档 (opens new window) 版本列表 (opens new window)

通过二进制文件安装 curl -L "https://github.com/docker/compose/releases/download/(版本号)/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composev2.23.3为例

curl -L "https://mirror.ghproxy.com/https://github.com/docker/compose/releases/download/v2.23.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
1

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

docker-compose version

# 问题记录

  1. Armbian系统安装后,执行出现docker-compose version报错/usr/local/bin路径下找不到docker-compose命令。

echo $PATH发现该目录在环境变量中。

权限也给了,找不出原因,干脆删除该文件,换一种方式安装。

参照官方文档给的命令:

sudo apt-get install docker-compose-plugin
1

安装后执行docker-compose version,话说报错找不到docker-compose命令,不过这次没有提/usr/local/bin,猜测是没放到可执行目录下,

看看docker-compose的安装目录:

docker info --format '{{range .ClientInfo.Plugins}}{{if eq .Name "compose"}}{{.Path}}{{end}}{{end}}'
1

输出/usr/libexec/docker/cli-plugins/docker-compose

给该文件创建一个软连接到可执行目录下

sudo ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/local/bin/docker-compose
1

再次运行docker-compose命令,成功输出版本信息。

# 修改配置

修改/etc/docker/daemon.json文件,如果没有先建一个即可

{
    "registry-mirrors": [
        "https://hub.littlediary.cn",
        "https://docker.m.daocloud.io",
        "https://hub.crdz.gq",
        "https://hub.firefly.store",
        "https://docker.unsee.tech"
    ]
}
1
2
3
4
5
6
7
8
9

使配置生效

systemctl daemon-reload
service docker restart
docker info
1
2
3

# 使用代理网络

  1. 创建dockerd相关的systemd目录,这个目录下的配置将覆盖dockerd的默认配置
mkdir -p /etc/systemd/system/docker.service.d
1

新建配置文件 /etc/systemd/system/docker.service.d/http-proxy.conf,这个文件中将包含环境变量:

[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80"
Environment="HTTPS_PROXY=https://proxy.example.com:443"
Environment="NO_PROXY=your-registry.com,10.10.10.10,*.example.com"
1
2
3
4

多个 NO_PROXY 变量的值用逗号分隔,而且可以使用通配符*,极端情况下,如果 NO_PROXY=*,那么所有请求都将不通过代理服务器。

重新加载配置文件,重启 dockerd 服务

systemctl daemon-reload
systemctl restart docker
1
2

检查确认环境变量已经正确配置:

systemctl show --property=Environment docker
docker info | grep -i proxy
1
2
上次更新: 2024/12/07, 12:00:34
最近更新
01
docker-compose笔记
01-12
02
MySQL数据迁移
11-27
03
Docker部署服务,避免PID=1
11-27
更多文章>