docker管理
docker的镜像管理及容器管理:
1.查看所有的镜像命令:
docker images
2.查看具体的镜像:
windows中的命令:
docker image ls | findstr hello-world
mac&linux的命令:
docker image ls | grep hello-world
3.仅仅展示镜像的ID信息(image id)
docker images -q
4.查看镜像的详细的信息:
docker image inspect feb5d9fea6a5(镜像的ID信息)
5.查看所有镜像的详细信息:
docker image inspect $(docker images -q) #mac和linux的命令
获取docker的镜像后,就可以运行对应的docker的镜像信息了,运行的命令为run,具体指令总结如下:
• -it:开启交互式的命令
• --rm:容器退出时删除容器的记录信息
• --name:指定容器的名称
• -d:后台方式运行容器
• -p:端口映射
6.运行镜像
docker run -it --name centos_test centos:7.8.2003
#docker run ---》运行镜像
-it:交互式命令
--name:指定运行镜像名称
centos:7.8.2003:要被运行的镜像
docker run -it --name centos_test centos:7.9.2009
一个镜像被运行后,后称为一个容器
7.使用一个新的控制台,使用命令查看容器运行的记录:
docker ps -a
镜像每次运行一次,都会生成一个容器的记录信息 比如镜像被运行了N次,那么就会有N条容器的记录信息 容器的名称是自定义
8.删除容器的记录信息:
docker rm 容器的ID
9.运行完后退出后自动清空运行记录
docker run --rm -it --name centos_test centos:7.9.2009
10.删除镜像
1.前提条件:镜像没有被运行
2.删除镜像:
(1)依据镜像的名称删除:docker rmi 镜像名称
(2)依据镜像的ID来删除:docker rmi 镜像id
2、前提条件:正在运行中的镜像,需要删除,需要做的步骤具体为:
第一步:在容器中停止它的运行:docker stop 容器ID
第二步:在容器中删除它的记录:docker rm 容器ID
第三步:根据镜像的名字或者ID来删除该镜像
docker rmi 镜像ID
docker rmi 镜像名称
11.镜像导入导出的场景:
异地的办公模式,那么场景就是:异地的开发同学写完代码后,然后把自己的
应用程序打包成镜像,打包成镜像后,发送给测试同学,测试同学运行镜像(前
提是把镜像导入中docker中),镜像运行成功后,等于环境部署成功,可以测试
通许可以开始测试了。
开发同学操作:
1、写代码
2、写的代码打包成镜像
docker image save hello-world:latest -o /Users/caiying/Desktop/hello.taz
测试同学操作:
1、接收开发发送的镜像
2、导入镜像到docker中

4、开始测试
容器内的进程必须是前台运行状态,否则容器直接退出
就会在线去下载该镜像的资源信息,如:
docker run -it --rm centos

#linux
docker ps -a | grep 容器ID
#windows
docker ps -a | findstr 容器ID
14.#查看容器的详细的信息
docker container inspect 容器ID
docker logs 容器ID:一次性查看所有的日志文件内容
docker logs 容器ID | tail -10:查看最新的10行日志文件(日志文件最后的内容)#仅仅适用于Linux的系统
docker logs 容器ID | head -10:查看日志文件最前面的10行
2、在容器里面进行具体的操作(比如安装软件,比如搭建环境等等),但是容器千万不能退出
3、打开一个新的控制台,查看到容器的ID
docker ps -a
4、对容器进行提交
docker commit 容器ID 镜像新的名称 如下:
docker commit 1ec76b093759 centos_vim_mysql
sha256:845081b52332f6e6ba6809d06703691b57cdddff4c0c286825097187a6b86e9e
5、待容器提交成功后,之前的容器进行退出
6、查看所有的镜像,就会发现存在centos_vim_mysql的镜像
7、运行新的镜像文件,如:
docker run -it --rm centos_vim_mysql
1、如果经常名称是none ,那么就不会复制,直接把none的镜像名称修改为新的镜像名称
2、如果镜像名称不是none,那么在此修改,等价于复制
2、端口映射:-p 80(宿主机的端口):80(容器里面的端口)
3、后台方式运行容器:
docker run -d -p 80:80 nginx
eede621c9dd01419b85c999dcacb6386790db9a2dbcc3287d020d3cd148738d6
4、查询容器的端口:docker port 容器的ID
docker port eede621c9dd0
80/tcp -> 0.0.0.0:80
5、下面演示容器的停止和启动
localhost:~ liwangping$ docker port eede621c9dd0
80/tcp -> 0.0.0.0:80
localhost:~ liwangping$ docker stop eede621c9dd0
eede621c9dd0
localhost:~ liwangping$ docker port eede621c9dd0
localhost:~ liwangping$ docker start eede621c9dd0
eede621c9dd0
localhost:~ liwangping$ docker port eede621c9dd0
80/tcp -> 0.0.0.0:80