Skip to content

在 CentOS 上安装 Docker 引擎

shell
# 安装Tab键提示
yum -y install bash-completion
# 刷新配置文件,使Tab键功能生效
source /etc/profile

# 支持 devicemapper 储存属性
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加 Docker yum 仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装 Docker
sudo yum install -y docker-ce
# 启动
sudo systemctl start docker.service
# 查看 Docker 状态(安装完成,默认未启动)
sudo systemctl status docker.service
# 设置开机自启(安装完成,默认未启动)
sudo systemctl enable docker.service
# 查看是否开机自启
systemctl list-unit-files | grep docker
systemctl is-enabled docker
  • 其他命令

    shell
    # 停止
    systemctl stop docker.service
    # 重载
    systemctl reload docker.service
    # 重启
    systemctl restart docker.service
    # 关闭开机自启
    systemctl disable docker.service
  • 测试(包含:CentOS、Ubuntu)

    shell
    docker run \
    --restart=always \
    -itd \
    --privileged=true \
    --name httpd-2.4.48 \
    -p 180:80 \
    -p 1443:443 \
    -v /etc/localtime:/etc/localtime \
    -v /home/data/apache2/htdocs/:/usr/local/apache2/htdocs/ \
    httpd:2.4.48
    • CentOS 开放端口

      shell
      firewall-cmd --zone=public --add-port=180/tcp --permanent
      firewall-cmd --zone=public --add-port=1443/tcp --permanent
      firewall-cmd --reload
      firewall-cmd --list-all
    • Ubuntu 开放端口

      shell
      sudo ufw allow 180
      sudo ufw allow 1443
    • 访问

      shell
      curl http://宿主机IP:180
  • 阿里云镜像加速

    • 包含 CentOS、Ubuntu

    • 登录阿里云的上述网址,可查看到阿里云给你分配的加速地址

    • 加速网址固定不可变,使用时无需验证权限

    • 也可使用本人申请的加速地址:https://hnkfbj7x.mirror.aliyuncs.com

    • 如果未修改过/etc/docker/daemon.json文件,可使用下列命令一键修改配置文件

      shell
      sudo mkdir -p /etc/docker
      sudo tee /etc/docker/daemon.json <<-'EOF'
      {
        "registry-mirrors": ["https://hnkfbj7x.mirror.aliyuncs.com"]
      }
      EOF
      sudo systemctl daemon-reload
      sudo systemctl restart docker
    • 如果修改过/etc/docker/daemon.json文件,请手动在该文件中添加或修改registry-mirrors为:

      json
      {
        "registry-mirrors": ["https://hnkfbj7x.mirror.aliyuncs.com"]
      }
  • 设置软件目录(CentOS 与 Ubuntu 相同)

    • 查看安装目录(默认:/var/lib/docker)

      shell
      # 查看 Docker Root Dir
      docker info
      # 或
      docker info | grep "Docker Root Dir"
    • 调整软件目录(如:将 docker 软件目录设置为/home/data/docker

      1. 停止 docker

        shell
        systemctl stop docker.service
        # Ubuntu 安装安装完成后开机自启
        systemctl stop docker.socket
      2. 编辑文件

        shell
        # CentOS 安装 vim
        # yum -y install -y vim
        # Ubuntu 安装 vim
        # sudo apt-get install -y vim
        vim /etc/docker/daemon.json
      3. 添加 graph

        json
        {
          "graph": "/home/data/docker"
        }
      4. 调整位置

        shell
        # 创建父文件夹
        mkdir /home/data
        # 移动
        mv /var/lib/docker/ /home/data
        # 建立软链接
        ln -s /home/data/docker/ /var/lib/docker
      5. 重启与查看新目录是否生效

        shell
        systemctl start docker
        docker info | grep "Docker Root Dir"

在 Ubuntu 上安装 Docker 引擎

shell
# 卸载旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc
# 更新apt包索引
sudo apt-get update
# 安装工具(允许apt通过 HTTPS 使用存储库)
sudo apt-get install -y ca-certificates curl gnupg lsb-release
# 添加 Docker 的官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 更新apt包索引
sudo apt-get update
# 设置稳定存储库
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 更新apt包索引
sudo apt-get update
# 安装 Docker 引擎
sudo apt-get install -y docker-ce docker-ce-cli containerd.io

# 查看 Docker 状态(安装完成,默认启动)
sudo systemctl status docker.service
# 查看是否开机自启(安装完成,默认启动)
systemctl list-unit-files | grep docker
systemctl is-enabled docker
  • 修改 docker 时区
cd /usr/share/zoneinfo/Asia
cp -i Shanghai /etc/localtime
# 然后重启docker
  • 其他命令

    shell
    # 启动
    sudo systemctl start docker.service
    # 设置开机自启
    sudo systemctl enable docker.service
    # 停止
    systemctl stop docker.service
    # 重载
    systemctl reload docker.service
    # 重启
    systemctl restart docker.service
    # 关闭开机自启
    systemctl disable docker.service