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

相关推荐
金刚猿10 小时前
01_虚拟机中间件部署_root 用户安装 docker 容器,配置非root用户权限
docker·中间件·容器
JH_Kong11 小时前
解决 WSL 中 Docker 权限问题:从踩坑到完整修复
docker·容器
忆~遂愿11 小时前
GE 引擎与算子版本控制:确保前向兼容性与图重写策略的稳定性
大数据·开发语言·docker
70asunflower15 小时前
Emulation,Simulation,Virtualization,Imitation 的区别?
linux·docker
春日见16 小时前
车辆动力学:前后轮车轴
java·开发语言·驱动开发·docker·计算机外设
xuhe216 小时前
[全流程详细教程]Docker部署ClawBot, 使用GLM4.7, 接入TG Bot实现私人助理. 解决Docker Openclaw Permission Denied问题
linux·docker·ai·github·tldr
星火s漫天16 小时前
第一篇: 使用Docker部署flask项目(Flask + DB 容器化)
数据库·docker·flask
MonkeyKing_sunyuhua18 小时前
docker compose up -d --build 完全使用新代码打包的方法
docker·容器·eureka
醇氧19 小时前
【docker】mysql 8 的健康检查(Health Check)
mysql·docker·容器
技术路上的探险家19 小时前
Ubuntu下Docker与NVIDIA Container Toolkit完整安装教程(含国内源适配)
linux·ubuntu·docker