Centos8安装Docker

准备

  服务器版本:CentOS 8.2 64位

准备部署环境

  先清除有关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

安装

  1. 安装所需要的依赖包
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  2. 配置国内源
      添加yum的repo文件(对于国内用户优先选择阿里云)
    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  3. 生成缓存,提高搜索安装软件的速度
    sudo yum makecache fast
  4. 解决problem with installed package podman-1.6.4-10.的报错
    yum erase podman buildah
  5. 安装Docker
      安装社区版docker:
    yum install -y docker-ce docker-ce-cli  containerd.io --nobest
    在线安装:curl -fsSL https://get.docker.com | bash -s docker
    curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
  6. 修改docker 镜像源地址加速
      创建或修改 /etc/docker/daemon.json 文件,修改为如下形式
      内容为(可以选择163加速或者去阿里云自己生成一个docker加速地址):
    {
      "registry-mirrors": [
        "https://registry.docker-cn.com",
        "http://hub-mirror.c.163.com",
        "https://docker.mirrors.ustc.edu.cn"
      ]
    }
      Docker中国区官方镜像 :        https://registry.docker-cn.com
      网易 :                http://hub-mirror.c.163.com
      ustc :                https://docker.mirrors.ustc.edu.cn
      中国科技大学 :            https://docker.mirrors.ustc.edu.cn
      阿里云容器 生成自己的加速地址 :    登录:https://cr.console.aliyun.com/
  7. 重新加载docker 服务配置,让加速地址生效并重启(启动)docker
    sudo systemctl daemon-reload
    sudo systemctl restart docker
  8. 设置开机自动启动docker(可选),可以连带自动启动带自动启动的容器
    systemctl enable docker
  9. 查看Docker版本
    # 简单信息
    docker -v
    # 查看docker的版本号,包括客户端、服务端、依赖的Go等
    docker version
    # 查看系统(docker)层面信息,包括管理的images, containers数等
    docker info
    
  10. 安装docker-compose
    #下载docker-compose,采用国内镜像,速度较快
    curl -L https://github.com/docker/compose/releases/download/1.3.3/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
    #授权docker-compose
    chmod +x /usr/local/bin/docker-compose
    docker-compose --version #查看版本验证安装
    # 国内开启pip 下载加速:http://mirrors.aliyun.com/help/pypi
    mkdir ~/.pip/
    cat > ~/.pip/pip.conf <<'EOF'
    [global]
    index-url = https://mirrors.aliyun.com/pypi/simple/
    [install]
    trusted-host=mirrors.aliyun.com
    EOF
    
    # 下载pip软件
    yum install -y python2-pip
    # 下载 docker-compose
    pip install docker-compose
    yum -y install libcurl libcurl-devel
    
    # 安装 pip
    # 安装 EPEL 软件包
    yum -y install epel-release
    # 安装pip 
    yum -y install python-pip
    #升级
    pip install --upgrade pip
    
    # yum install python-devel
    
    #安装Docker-Compose
    pip install docker-compose
    # pip3 install docker-compose
    # pip install docker-compose==1.21.2
    DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
    mkdir -p $DOCKER_CONFIG/cli-plugins
    curl -SL https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
    
    chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
    
    docker compose version

Docker服务相关



systemctl start docker    # 启动
systemctl enable docker   # 开机自启
systemctl stop docker     # 停止
systemctl restart docker  # 重启
systemctl status docker   # 查看docker状态

Docker命令

docker images               # 查看镜像
docker pull 镜像名称:版本号   # 拉取镜像
docker rmi 镜像名称:版本号    # 删除镜像

docker ps                  # 查看正在运行的容器
docker ps -a               # 查看所有容器
docker ps -s               # 查看正在运行的容器
docker ps -l               # 查看上一次容器
docker rm 容器名称          # 删除容器
docker rm -v 容器名称       # 删除容器及数据卷
docker volume ls           # 查询数据卷
docker volume rm  数据卷名  # 删除数据卷

docker远程连接

portainer中远程连接

  1. 服务器配置docker
    
    vim /usr/lib/systemd/system/docker.service
      添加-H tcp://0.0.0.0:2375如下
    # ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
    改为:
    # leeze
     ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375
  2. 防火墙端口(2375)
      如果服务器有防火墙,请放开 2375 端口
    firewall-cmd  --zone=public --add-port=2375/tcp --permanent
    firewall-cmd --reload
    firewall-cmd --list-ports
  3. 重启 docker 服务
    systemctl daemon-reload
    systemctl restart docker
  4. 然后用浏览器访问Linux主机的IP:2375/version,测试端口是否开放成功
    curl http://ip:2375/verion
  5. portainer中远程连接

IDEA中远程连接

  TCP-socket:
  tcp://10.211.55.81:2375

PS

网络问题1

  firewall-cmd,网路配置端口后不好用:

,查看网卡

,查看激活作用域

,把docker0网卡添加到trusted

firewall-cmd --permanent --zone=trusted --add-interface=docker0

,重启加载配置

firewall-cmd --reload

,查看激活作用域

,查看网卡

,查看端口

,开放端口

firewall-cmd  --zone=public --add-port=3307/tcp --permanent
firewall-cmd --reload

网络问题2

网络问题1,不好使,参考:Centos7/8 firewall 和 docker 冲突解决