docker常用操作
1. docker 导出和导入镜像
容器保存为镜像
- docker commit [options] 容器名称 镜像名称:镜像tag
- -a :提交的镜像作者;
- -c :使用Dockerfile指令来创建镜像;
- -m :提交时的说明文字;
- -p :在commit时,将容器暂停。
docker commit -a "z.com" -m "test" test test:v1.0.1
镜像输出到文件
- docker save -o 目标文件(tar包) name:tag(镜像)
- docker save > 目标文件(tar包) name:tag(镜像)
- docker export -o 目标文件(tar包) 容器名
- export命令导出的tar文件略小于save命令导出的
- export命令是从容器(container)中导出tar文件,而save命令则是从镜像(images)中导出
从文件导入镜像
- docker load -i tar文件
- docker load < tar文件
- docker import tar文件 镜像name:tag
- cat tar包 | docker import - 镜像name:tag
2. docker 关于镜像相关操作
- docker images 查看镜像
- docker rmi 镜像id(或者name:tag) 删除镜像 等价于 docker image rm 镜像id
- docker inspect 镜像名:tag 或者 容器名称 查看镜像或容器的详细信息,比如基础镜像,启动命令等等
- docker history 镜像名:tag 查看镜像每一层layer的信息
3. docker container
-
docker run 创建并启动容器
- -d 后台运行
- -it bash 交互式bash启动同时进入容器
- --name=name(容器名)
- -p 3306:3306 端口映射 (使用--net=host不需要单独映射端口,容器内地址都可在外部访问)
- -v 宿主机绝对路径:容器绝对路径
- example: docker run -d -it --name=mysql -p 3306:3306 镜像id(mysql镜像后面不能加bash,否则服务会起不来)
-
docker start name(容器名) 启动容器
-
docker stop name 停止容器
-
docker restart name 重启容器
4. docker cp 实现容器和系统文件复制
docker cp 源文件路径 复制文件路径
5. docker tag 镜像重命名
- docker tag 旧名称 新名称
重启容器systemctl restart docker
注:
- docker 镜像保存压缩有两种方法,不可混用, 第一种保存的tar.gz包如果使用gunzip解压,镜像load会报错,使用import可以导入但镜像已经损坏在创建容器之后会无法正常启动
或者docker save -o xx.tar name:tag tar -zcvf xx.tar.gz xx.tar tar -zxvf xx.tar.gz docker load -i xx.tar
docker save name:tag | gzip > xx.tgz gunzip xx.tgz | docker load
- kubectl get pods -n address | grep 状态 | awk '{print $1}' | xargs kubectl delete pod