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
安装
- 安装所需要的依赖包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
- 配置国内源
添加yum的repo文件(对于国内用户优先选择阿里云)sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 生成缓存,提高搜索安装软件的速度
sudo yum makecache fast
- 解决problem with installed package podman-1.6.4-10.的报错
yum erase podman buildah
- 安装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
- 修改docker 镜像源地址加速
创建或修改/etc/docker/daemon.json
文件,修改为如下形式
内容为(可以选择163加速或者去阿里云自己生成一个docker加速地址):
Docker中国区官方镜像 : https://registry.docker-cn.com{ "registry-mirrors": [ "https://registry.docker-cn.com", "http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn" ] }
网易 : http://hub-mirror.c.163.com
ustc : https://docker.mirrors.ustc.edu.cn
中国科技大学 : https://docker.mirrors.ustc.edu.cn
阿里云容器 生成自己的加速地址 : 登录:https://cr.console.aliyun.com/ - 重新加载docker 服务配置,让加速地址生效并重启(启动)docker
sudo systemctl daemon-reload sudo systemctl restart docker
- 设置开机自动启动docker(可选),可以连带自动启动带自动启动的容器
systemctl enable docker
- 查看Docker版本
# 简单信息 docker -v # 查看docker的版本号,包括客户端、服务端、依赖的Go等 docker version # 查看系统(docker)层面信息,包括管理的images, containers数等 docker info
- 安装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中远程连接
- 服务器配置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
- 防火墙端口(
2375
)
如果服务器有防火墙,请放开2375
端口firewall-cmd --zone=public --add-port=2375/tcp --permanent firewall-cmd --reload firewall-cmd --list-ports
- 重启
docker
服务systemctl daemon-reload systemctl restart docker
- 然后用浏览器访问Linux主机的IP:2375/version,测试端口是否开放成功
curl http://ip:2375/verion
- 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 冲突解决