一、安装
官方帮助文档: 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)
- 删除所有镜像
docker system prune --all --force --volumes
- 停止容器服务
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