Skip to content

Docker 笔记(部署)

镜像加速

编辑 /etc/default/docker 文件

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

json
{
  "debug": true,
  "experimental": true,
  "registry-mirrors": ["https://9zh8kwqg.mirror.aliyuncs.com", "http://hub-mirror.c.163.com"]
}
sh
sudo systemctl daemon-reload
sudo systemctl restart docker

免 sudo

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

sh
sudo groupadd docker

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

sh
sudo gpasswd -a ${USER} docker

重启 docker 服务

sh
sudo service docker restart

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

sh
newgrp - docker

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

管理面板(portainer)

sh
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

装完访问 9000 即可。

CentOS 7 附录

CentOS 7 安装后无法联网

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

CentOS 7 关闭 SELinux

  • 查看命令getenforce

  • 临时关闭setenforce 0

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

vim /etc/selinux/config

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

CentOS 7 关闭防火墙

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

CentOS 8 安装 docker

sh
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
dnf 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

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

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

sh
## 也可以从阿里镜像的rpm安装
dnf install http://mirrors.aliyun.com/docker-ce/linux/centos/8/x86_64/stable/Packages/containerd.io-<version>.el8.x86_64.rpm

CentOS 8 安装 docker-compose

sh
sudo yum install -y epel-release yum-utils
sudo yum-config-manager --enable epel
pip3 install --user docker-compose

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

sh
rsync -rvzpgo --progress

CentOS 8 docker-ce.repo

ini
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://mirrors.ustc.edu.cn/docker-ce/linux/centos/$releasever/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.ustc.edu.cn/docker-ce/linux/centos/gpg

[docker-ce-stable-debuginfo]
name=Docker CE Stable - Debuginfo $basearch
baseurl=https://mirrors.ustc.edu.cn/docker-ce/linux/centos/$releasever/debug-$basearch/stable
enabled=0
gpgcheck=1
gpgkey=https://mirrors.ustc.edu.cn/docker-ce/linux/centos/gpg

[docker-ce-stable-source]
name=Docker CE Stable - Sources
baseurl=https://mirrors.ustc.edu.cn/docker-ce/linux/centos/$releasever/source/stable
enabled=0
gpgcheck=1
gpgkey=https://mirrors.ustc.edu.cn/docker-ce/linux/centos/gpg

[docker-ce-test]
name=Docker CE Test - $basearch
baseurl=https://mirrors.ustc.edu.cn/docker-ce/linux/centos/$releasever/$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.ustc.edu.cn/docker-ce/linux/centos/gpg

[docker-ce-test-debuginfo]
name=Docker CE Test - Debuginfo $basearch
baseurl=https://mirrors.ustc.edu.cn/docker-ce/linux/centos/$releasever/debug-$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.ustc.edu.cn/docker-ce/linux/centos/gpg

[docker-ce-test-source]
name=Docker CE Test - Sources
baseurl=https://mirrors.ustc.edu.cn/docker-ce/linux/centos/$releasever/source/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.ustc.edu.cn/docker-ce/linux/centos/gpg

[docker-ce-nightly]
name=Docker CE Nightly - $basearch
baseurl=https://mirrors.ustc.edu.cn/docker-ce/linux/centos/$releasever/$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.ustc.edu.cn/docker-ce/linux/centos/gpg

[docker-ce-nightly-debuginfo]
name=Docker CE Nightly - Debuginfo $basearch
baseurl=https://mirrors.ustc.edu.cn/docker-ce/linux/centos/$releasever/debug-$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.ustc.edu.cn/docker-ce/linux/centos/gpg

[docker-ce-nightly-source]
name=Docker CE Nightly - Sources
baseurl=https://mirrors.ustc.edu.cn/docker-ce/linux/centos/$releasever/source/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.ustc.edu.cn/docker-ce/linux/centos/gpg

Version 4.2 (core-1.3.4)