Docker 笔记(部署)

# 镜像加速

编辑 /etc/default/docker 文件

CentOS 系统的配置文件是 /etc/docker/daemon.json Ubuntu 系统的配置文件是 /etc/default/docker

{
  "debug": true,
  "experimental": true,
  "registry-mirrors": [
    "https://9zh8kwqg.mirror.aliyuncs.com",
    "http://hub-mirror.c.163.com"
  ]
}
1
2
3
4
5
6
7
8
sudo systemctl daemon-reload
sudo systemctl restart docker
1
2

# 免 sudo

如果还没有 docker group 就添加一个:

sudo groupadd docker
1

将用户加入该 group 内。然后退出并重新登录就生效啦。

sudo gpasswd -a ${USER} docker
1

重启 docker 服务

sudo service docker restart
1

切换当前会话到新 group 或者重启 X 会话

newgrp - docker
1

注意: 最后一步是必须的,否则因为 groups 命令获取到的是缓存的组信息,刚添加的组信息未能生效,所以 docker images 执行时同样有错。

# 管理面板(portainer)

docker volume create portainer_data
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer-ce --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
1
2

装完访问 9001 即可。

# CentOS 7 附录

# CentOS 7 安装后无法联网

ip addr # 查看网卡名称
# 编辑 /etc/sysconfig/network-scripts/网卡名称,设置 ONBOOT=YES
systemctl restart network
1
2
3

# CentOS 7 关闭 SELinux

  • 查看命令getenforce

  • 临时关闭setenforce 0

  • 永久关闭【enforcing—->disabled 或者 permissive—->disabled】

vim /etc/selinux/config

SELINUX=enforcing改为SELINUX=disabled设置后保存,需要重启才能生效。

# CentOS 7 关闭防火墙

sudo systemctl stop firewalld.service       # 停止firewall
sudo systemctl disable firewalld.service    # 禁止firewall开机启动
1
2

# CentOS 8 安装 docker

sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum install -y containerd.io
sudo yum install -y --nobest docker-ce docker-ce-cli
sudo systemctl start docker
sudo systemctl enable docker
1
2
3
4
5
6
7
8

# CentOS 8 提示 Container.io 版本不匹配

https://download.docker.com/linux/fedora/31/x86_64/stable/Packages/ 下载需要的版本。

# CentOS 8 安装 docker-compose

sudo yum install -y epel-release yum-utils
sudo yum-config-manager --enable epel
pip3 install --user docker-compose
1
2
3

# 复制(迁移)文件保留权限

rsync -rvzpgo --progress
1