1.在线安装

1、先安装yum-utils包,它提供了yum-config-manager 工具:

1
yum  -y  install  yum-utils  device-mapper-persistent-data  lvm2

2.通过yum-config-manager 添加阿里云仓库(该仓库中有docker-ce软件包):

1
yum-config-manager  --add-repo  https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3.更新yum缓存

1
yum makecache  fast

4.安装最新版的docker-ce引擎以及containerd:

1
yum  -y  install  docker-ce  docker-ce-cli  containerd.io

安装之后会创建 docker 组,但该组中没有添加任何用户。
可以将普通用户加入到docker组,该用户后续不用加sudo就可以执行docker相关命令。

1
usermod -aG docker  ${USER}

5.启动docker,并设置开机启动

1
2
systemctl start docker
systemctl enable docker

2.卸载

1.删除docker所在目录

1
2
3
4
rm -rf /etc/docker
rm -rf /run/docker
rm -rf /var/lib/dockershim
rm -rf /var/lib/docker

2.Kill掉Docker进程

1
2
ps -ef|grep docker
kill -9 pid

3.卸载docker相关包

(1)查看相关包

1
yum list installed | grep docker

(2)把匹配到的包执行 yum remove 删除

1
2
3
4
5
6
yum remove  containerd.io.x86_64
yum remove docker-ce.x86_64
yum remove docker-ce-cli.x86_64
yum remove docker-ce-rootless-extras.x86_64
yum remove docker-compose-plugin.x86_64
yum remove docker-scan-plugin.x86_64

注:list里有哪些包就删哪些,这里是列举常规的全部列举了

4.查看docker是否卸载成功,为空就是卸载成功啦

1
2
docker -v    (-bash: docker: command not found)
rpm -qa | grep docker

3.常用命令

启动docker:

1
sudo systemctl start docker

守护进程重启:

1
systemctl daemon-reload

重启Docker服务:

1
systemctl restart docker / service docker restart

关闭Docker服务:

1
2
3
4
5
6
7
systemctl start docker    #启动Docker
systemctl stop docker #停止Docker
systemctl restart docker #重启Docker
systemctl status docker #查看Docker状态
systemctl enable docker #开机自启动
docker info #查看Docker概要信息
docker --help #查看docker总体帮助文档

列出本机的镜像

1
dokcer images 镜像名

查看运行中的容器

1
docker ps

显示所有的容器,包括未运行的。

1
docker ps -a

根据containerID删除容器

1
docker rm [containerID]

根据imageId删除image

1
docker rmi [imageId]

启动一个已经存在但未启动的容器

1
docker start [containerID]

停止一个已经存在且已经启动的容器

1
docker stop [containerID]

查看容器详情

1
docker inspect [containerID]/[containerName]

其中可以查看容器的ID(id),创建时间(Created),容器启动后执行的命令(Path),容器的状态(Status),所使用的镜像(Image)等等

未创建容器时启动mysql(末尾的:后面为tag版本)

1
docker run -d --name=mysql5.7.37 -p 3306:3306 -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.37

有容器后直接docker start [containerID]即可

未创建容器时启动kafka

1
docker run -d --name kafka --publish 9092:9092 --link zookeeper:zookeeper -e KAFKA_BROKER_ID=1  -e HOST_IP=192.168.65.7  -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.88.151:9092  -e KAFKA_ADVERTISED_HOST_NAME=192.168.88.151 -e KAFKA_ADVERTISED_PORT=9082  --restart=always  -t  wurstmeister/kafka

未创建容器时启动redis

1
docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf --restart=always -d redis redis-server /etc/redis/redis.conf

创建自定义网络(用于容器间通讯)

1
docker network create common-network

携带自定义网络启动redis

1
docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf --restart=always --network common-network -d redis redis-server /etc/redis/redis.conf

未完待续…