docker

一、安装

官方帮助文档: https://docs.docker.com/reference/

yum安装: yum -y install docker

rpm安装:

https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

找到最新的rpm包,然后:yum -y install docker-ce-20.10.19-3.el7.x86_64.rpm

运行docker:systemctl start docker

二进制安装:

https://download.docker.com/linux/static/stable/x86_64/

找到最新包并且下载

解压:tar -zxvf docker-20.10.3.tgz

进入解压的目录中:cp docker/* /usr/bin/

运行docker:systemctl start docker

其他安装

1)把docker dockerd docker-init docker-proxy放至/usr/local/bin/

2)把containerd containerd-shim containerd-shim-runc-v2放至/usr/local/bin/

3)拷贝至指定位置

/usr/lib/systemd/system/docker.service

/usr/lib/systemd/system/containerd.service

4)yum install systemd-*

5)systemctl start docker

systemctl start containerd

设置docker开机启动

/lib/systemd/system/docker.socket

/lib/systemd/system/containerd.service

groupadd docker

二、镜像操作

docker imags -a查看镜像

docker load <镜像包>

docker rmi <镜像名或ID>

docker pull 拉取镜像

docker images 列出镜像列表

docker container ls 效果同ps命令(加-a效果同)

docker rmi 删除镜像

docker search 从Docker Hub查找镜像

三、容器操作

容器启动

docker run -dit --name=test01(容器名) --privileged --net=host -v /mnt/data:/mnt/data centos7(镜像名) /bin/bash

--net=host 共用宿主机网络

-v 挂载宿主机磁盘,多个盘指定多个-v

--privileged 开启容器权限,允许后台进程运行

容器启动

docker start <容器名或ID>

docker stop <容器名或ID>

docker restart <容器名或ID>

容器使用

docker exec -it <容器名或ID> /bin/bash

docker cp <文件> <容器名或ID>:<路径> 容器与主机之间的数据拷贝

docker rm 删除容器

docker ps 查看正在运行的容器

docker ps -a 查看所有已经创建的容器

docker exec 在运行的容器中执行命令

docker run 创建一个新的容器并运行一个命令

docker info 查看docker系统信息

docker version 显示 Docker 版本信息

docker logs

docker inspect

docker systemctl prune

四、容器迁移

docker运维迁移

指定容器打镜像(10.244.xx.60节点上)

docker commit e88fe8962a5d my_docker_test_6:latest

保存镜像为tar包 (10.244.xx.60节点上)

docker save -o dockertest.tar my_docker_test_6:latest

加载镜像(10.244.xx.60节点上)

export DOCKER_HOST=10.244.xx.61;docker load -i dockertest.tar

启动容器(10.244.xx.61节点上)

docker run --name dockertest --net=host --privileged -itd my_docker_test_6:latest bash

chmod 777 prometheus-1608.tar

docker import prometheus-1608.tar

docker images -a

docker tag 8f4818478567 myprometheus:v1.2.1

docker images -a

docker run --name my-prometheus-v1.2.1 --net=host --privileged -itd myprometheus:v1.2.1 /bin/bash

五、清理环境

1,停止所有容器

docker stop $(docker ps -a -q)

  1. 删除所有镜像

docker system prune --all --force --volumes

  1. 停止容器服务

systemctl stop docker

systemctl disable docker

rm -rf /lib/systemd/system/docker.service

rm -rf /lib/systemd/system/docker.socket

rm -rf /lib/systemd/system/containerd.service

rm -rf /usr/local/bin/containerd*

rm -rf /usr/local/bin/docker*

rm -rf /usr/local/bin/ctr

rm -rf /usr/local/bin/runc

rm -rf /etc/docker

systemctl daemon-reload

相关推荐
java资料站9 小时前
常用中间件快速搭建
docker·中间件
云游牧者9 小时前
K8S故障排查三板斧-CSDN博客
运维·docker·云原生·kubernetes·k8s·容器化·故障排查
极客先躯11 小时前
高级java每日一道面试题-2025年12月09日-实战篇[Docker]-如何配置 Docker 的日志驱动?有哪些日志驱动可选?
java·docker·日志驱动的作用与配置层级·日志驱动全览与对比·日志驱动配置的要点·日志标签定制·容器与宿主机时间戳
霜落花轻扬12 小时前
docker 开发环境卡死的解决办法
运维·docker·容器
@王先生112 小时前
docker安装固定版本20.10 k8s 1.23.17兼容版本
docker·容器·kubernetes
YuanDaima204813 小时前
WSL2 与 Ubuntu 22.04 基础环境部署指南
linux·运维·服务器·人工智能·ubuntu·docker
极客先躯13 小时前
高级java每日一道面试题-2025年12月08日-实战篇[Docker]-如何为 Docker 配置代理?如何为容器配置代理?
java·docker·代理配置的双层架构·docker 守护进程配置代理·为容器配置代理·构建时环境变量·运行时注入环境变量