Docker学习笔记(四)docker客户端命令

本文详细介绍了在CentOS环境下使用Docker的各种命令,包括查看版本信息、获取镜像、启动和管理容器、制作镜像等操作。通过示例展示了如何列出本地镜像、搜索镜像、启动容器、删除和管理容器、执行命令、传输文件以及通过容器创建新的镜像。这些内容对于理解和操作Docker容器具有实用价值。
摘要由CSDN通过智能技术生成

centos环境下使用docker

帮助命令

描述版本信息

docker version		// 描述版本信息

在这里插入图片描述

docker的详细信息

docker info		// docker的详细信息

在这里插入图片描述

docker的详细信息

docker --help	// 帮助命令信息

在这里插入图片描述

镜像命令

在这里插入图片描述

可以从docker的图标来理解docker究竟是什么。大海指的就是我们的电脑,叫做宿主主机。大海里面有各式各样的鱼,代指各种应用程序,而这条大鲸鱼就是其中的一个程序——docker。鲸鱼背上的集装箱就是docker容器

列出本地主机的镜像

docker images		// 列出本地主机的镜像

在这里插入图片描述

搜寻centos镜像

docker search centos		// 搜寻centos镜像

在这里插入图片描述

拉取镜像

docker pull tomcat		// 拉取tomcat镜像到本地
docker pull centos		// 拉取centos镜像到本地,默认为最新版

在这里插入图片描述

删除镜像

docker rmi centos:latest 		// 没有运行的容器可以直接删除
docker rmi -f hello		// 运行的容器强制删除

在这里插入图片描述
在这里插入图片描述

docker rmi storm:latest tomcat:latest 	// 删除多个镜像
docker rmi $(docker images -qa)		// 删除所有镜像

容器命令

启动容器

有镜像才有容器,以centos镜像为例子

在这里插入图片描述

-i: 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-d: 后台运行容器,并返回容器ID;
–name=“容器名字”: 为容器指定一个名称;

docker run -it centos:centos7		// 启动一个centos容器,并且可以使用伪终端交互使用,默认跟的是/bin/bash命令,也可以手动输入命令

在这里插入图片描述
在这里插入图片描述

显示正在运行的容器

docker ps		// 显示当前运行的容器
docker ps -a		// 显示所有容器,包括没运行的
docker ps -q		// 显示当前运行的容器ID
docker ps -qa	// 显示所有容器ID,包括没运行的

在这里插入图片描述

退出容器

退出容器命令两种方式

exit		// 停止容器并退出

和ctrl + p + q // 不停止容器退出

重新启动容器

docker restart 9cbb2868366b		// 重新启动容器

在这里插入图片描述

关闭容器

docker stop cacda3f1fb5b	// 关闭容器
docker kill 9cbb2868366b	// 强制关闭容器

在这里插入图片描述

删除以前执行过的容器

停止容器,但是docker的缓冲中还是有曾经运行的容器ID:
在这里插入图片描述
删除以前的容器命令如下:

docker rm 容器ID 	// 删除一个容器
docker rm $(docker ps -qa)		// 删除全部容器

在这里插入图片描述

容器后台运行

docker容器运行必须有一个前台进程, 如果没有前台进程执行,容器认为空闲,就会自行退出,容器运行的命令如果不是那些一直挂起的命令( 运行top,tail、循环等),就是会自动退出,这个是 docker 的机制问题

docker run -d centos:centos7		// 后台运行一下,就自动关闭
docker ps

在这里插入图片描述

docker run -d centos:centos7 /bin/sh -c "while true;do echo xxzz;sleep 2;done"
docker run -d centos:centos7 /bin/sh -c "while true;do echo xxzz;sleep 2;done"
docker ps 
docker logs -tf 053772e7e151

logs输出该容器的id,centos7容器无限打印就会使用一直有前台进程执行,后台就不会关
-f : 跟踪日志输出
–since :显示某个开始时间的所有日志
-t : 显示时间戳

在这里插入图片描述

docker inspect 容器ID

在这里插入图片描述

重新进入已经运行的容器

重新进入已经运行的容器:

1. 通过attach进入容器

docker run -it centos:centos7

ctrl + p + q

docker attach 7d078a164e49		// 直接进入正在运行容器,进入伪终端

在这里插入图片描述

docker start 7d078a164e49
docker ps
docker exec -it 7d078a164e49 ls		// exec 容器ID 容器执行的命令 , 但是不会进入伪终端,直接执行 命令之后结束

在这里插入图片描述

2. 通过exec也可以进入容器

docker exec -it 7d078a164e49 bash		// 直接运行bash命令

在这里插入图片描述
所以exec的功能比较强大…

容器和本机之间文件传输

将centos容器中/tmp/yum.log拷贝到主机:

docker cp 7d078a164e49:/tmp/yum.log /root		// docker cp 容器ID:数据路径	本地路径

同理,将本地文件翻入docker容器中

docker cp /root	7d078a164e49:/tmp/yum.log	// docker cp 本地路径 容器ID:数据路径

在这里插入图片描述

Docker制作镜像

通过容器制作镜像

Docker commit 命令

docker commit :从容器创建一个新的镜像。

语法

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

OPTIONS说明:

-a :提交的镜像作者;

-c :使用Dockerfile指令来创建镜像;

-m :提交时的说明文字;

-p :在commit时,将容器暂停。

实例

将容器a404c6c174a2 保存为新的镜像,并添加提交人信息和说明信息。

runoob@runoob:~$ docker commit -a "runoob.com" -m "my apache" a404c6c174a2  mymysql:v1 
sha256:37af1236adef1544e8886be23010b66577647a40bc02c0885a6600b33ee28057
runoob@runoob:~$ docker images mymysql:v1
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mymysql             v1                  37af1236adef        15 seconds ago      329 MB
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值