记 centos docker 一次安装过程

71 阅读2分钟

记 centos docker 一次安装过程

卸载旧版本

sudo yum remove docker \  
                  docker-client \  
                  docker-client-latest \  
                  docker-common \  
                  docker-latest \  
                  docker-latest-logrotate \  
                  docker-logrotate \  
                  docker-engine

使用yum-utils进行docker仓库安装和更新

sudo yum install -y yum-utils \  
  device-mapper-persistent-data \  
  lvm2

设置稳定的仓库(阿里源)

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

安装最新版本的Docker Engine-Community 和 containerd

sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

安装Docker Engine-Community

sudo yum install docker-ce-24.0.7 docker-ce-cli-24.0.7 containerd.io
# 下列命令可看版本
yum list docker-ce --showduplicates | sort -r

启动docker

sudo systemctl start docker

设置docker 开机自启动

systemctl start docker 
# 设为开机自启动 
systemctl enable docker

docker 中的常用操作

# docker 中的镜像
docker images 
# docker 中运行的容器
docker ps -a
# docker 中停止该容器
docker stop <容器id|容器名称>
# docker 删除该容器
docker rm <容器id|容器名称>

# 进入docker 容器
docker exec -it <容器id|容器名称> <执行文件 例:bash>

# 复制 docker 容器中的文件
docker cp <容器名称>:<容器中的文件> <本地文件>
# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /home/hong/nginx/conf/nginx.conf

# 生成容器并挂载外部文件[以nginx容器为例]
docker run \
-p 8080:80 \
--name nginx \
-v /home/hong/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/hong/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /home/hong/nginx/log:/var/log/nginx \
-v /home/hong/nginx/html:/usr/share/nginx/html \
-d nginx

docker 中的批量操作

# docker中启动所有容器的命令
docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)
# docker中关闭所有容器的命令
docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)
# docker中删除所有容器的命令
docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)
# docker中删除所有的镜像
docker rmi $(docker images | awk '{print $3}' |tail -n +2)
# docker后台启动镜像命令
docker run -d -p 8088:8088 amancevice/superset
# docker 批量删除数据卷
sudo docker volume rm $(sudo docker volume ls -q)