关于docker:Docker实践及命令梳理

  1. docker装置
  • 筹备工作 卸载旧版本的docker
$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine
  • 零碎要求

    Docker 反对 64 位版本 CentOS 7/8,并且要求内核版本不低于 3.10。 CentOS 7 满足最低内核的要求,但因为内核版本比拟低,局部性能(如 overlay2 存储层驱动)无奈应用,并且局部性能可能不太稳固。

  • 应用yum装置

    sudo yum install -y yum-utils
    鉴于国内网络问题,强烈建议应用国内源,官网源请在正文中查看。

    执行上面的命令增加 yum 软件源:

    $ sudo yum-config-manager \
      --add-repo \
      https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
    $ sudo sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
    
    # 官网源
    # $ sudo yum-config-manager \
    #     --add-repo \
    #     https://download.docker.com/linux/centos/docker-ce.repo
    

如果须要测试版本的 Docker 请执行以下命令:

如果须要测试版本的 Docker 请执行以下命令:

更新 yum 软件源缓存,并装置 docker-ce。

$ sudo yum install docker-ce docker-ce-cli containerd.io
  1. 应用脚本主动装置docker
# $ curl -fsSL test.docker.com -o get-docker.sh
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun
# $ sudo sh get-docker.sh --mirror AzureChinaCloud
  1. 创立docker组

  默认状况下,docker 命令会应用 Unix socket (opens new window)与 Docker 引擎通信。而只有 root 用户和 docker 组的用户才能够拜访 Docker 引擎的 Unix socket。出于平安思考,个别 Linux 零碎上不会间接应用 root 用户。因而,更好地做法是将须要应用 docker 的用户退出 docker 用户组。

sudo groupadd docker
sudo usermod -aG docker $USER
# 退出以后终端并从新登录,进行如下测试
docker run --rm hello-world
  1. 镜像减速

阿里云镜像减速

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["这里替换成本人的阿里云镜像加速器地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

如果在 CentOS 应用 Docker 看到上面的这些正告信息:

WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
请执行下列操作

sudo tee -a /etc/sysctl.conf <<-EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

sudo sysctl -p

评论

发表回复

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

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理