(二) docker 常用的命令

1. 帮助命令

#查看docker的版本信息
docker version 
#查看docker系统的详细信息
docker info
# 查看docker所以有命令
docker --help
更多命令可参考官方文档:
https://docs.docker.com/reference/

2. 镜像命令

1. 查所有本地主机上的镜像
[root@node01 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              bf756fb1ae65        7 months ago        13.3kB

#解释:
REPOSITORY  镜像的仓库源     
TAG         镜像的标签
IMAGE ID    镜像的id
CREATED     镜像的创建时间 
SIZE		镜像的大小
# 可选项
	-a, --all 	#列出所有镜像
	-q, --quiet #只显示镜像的id
2. docker search 搜索镜像(以mysql为例)
[root@node01 ~]# docker search mysql
NAME                              DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   9893                [OK]
mariadb                           MariaDB is a community-developed fork of MyS…   3621                [OK]
... ...
#可选项
--filter=STARS=5000 # 搜索出的镜像就行STARS大于5000的
[root@node01 ~]# docker search mysql --filter=STARS=5000
NAME                DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
mysql               MySQL is a widely used, open-source relation…   9893                [OK]
3. docker pull 下载镜像(以mysql为例)
#下载镜像 docker pull 镜像名[:tag]
[root@node01 ~]# docker pull mysql
Using default tag: latest 		   		# 如果不写tag默认就是latest 最新版本
latest: Pulling from library/mysql 		#分层下载 docker images的核心, 联合文件系统
bf5952930446: Pull complete
8254623a9871: Pull complete
938e3e06dac4: Pull complete
ea28ebf28884: Pull complete
f3cef38785c2: Pull complete
894f9792565a: Pull complete
1d8a57523420: Pull complete
6c676912929f: Pull complete
ff39fdb566b4: Downloading  76.12MB
ff39fdb566b4: Pull complete
fff872988aba: Pull complete
4d34e365ae68: Pull complete
7886ee20621e: Pull complete
Digest: sha256:c358e72e100ab493a0304bda35e6f239db2ec8c9bb836d8a427ac34307d074ed #签名信息(防伪标志)
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest 			#真实地址

#指定文件版本下载
[root@node01 ~]# docker pull mysql:5.7
5.7: Pulling from library/mysql
bf5952930446: Already exists  #已经下载过的不会重复下载
8254623a9871: Already exists
938e3e06dac4: Already exists
ea28ebf28884: Already exists
f3cef38785c2: Already exists
894f9792565a: Already exists
1d8a57523420: Already exists
5f09bf1d31c1: Pull complete  #没下载过的才会下载
1b6ff254abe7: Pull complete
74310a0bf42d: Pull complete
d398726627fd: Pull complete
Digest: sha256:da58f943b94721d46e87d5de208dc07302a8b13e638cd1d24285d222376d6d84
Status: Downloaded newer image for mysql:5.7
docker.io/library/mysql:5.7

# 查看镜像
[root@node01 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               5.7                 718a6da099d8        3 weeks ago         448MB
mysql               latest              0d64f46acfd1        3 weeks ago         544MB
hello-world         latest              bf756fb1ae65        7 months ago        13.3kB
4. docker rmi 删除镜像
#根据id进行删除
[root@node01 ~]# docker rmi -f 718a6da099d8
Untagged: mysql:5.7
Untagged: mysql@sha256:da58f943b94721d46e87d5de208dc07302a8b13e638cd1d24285d222376d6d84
Deleted: sha256:718a6da099d82183c064a964523c0deca80619cb033aadd15854771fe592a480
Deleted: sha256:058d93ef2bfb943ba6a19d8b679c702be96e34337901da9e1a07ad62b772bf3d
Deleted: sha256:7bca77783fcf15499a0386127dd7d5c679328a21b6566c8be861ba424ac13e49
Deleted: sha256:183d05512fa88dfa8c17abb9b6f09a79922d9e9ee001a33ef34d1bc094bf8f9f
Deleted: sha256:165805124136fdee738ed19021a522bb53de75c2ca9b6ca87076f51c27385fd7


# 删除单个镜像 
docker rmi -f 镜像id
#删除多个镜像
docker rmi -f 镜像id 镜像id 镜像id 镜像id ...
# 删除所有镜像(慎用)
docker rmi -f $(docker images -aq)

在这里插入图片描述

3.容器命令

说明:有了镜像才可以创建容器,下载一个linux CentOS镜像用来测试学习

1. 启动容器
#下载镜像
docker pull centos
#查看镜像
docker images
#启动并进入容器
docker run -it centos /bin/bash
#退出
exit

在这里插入图片描述

2.列出所有正在运行的容器
docker ps
-a 	 #列出正在运行的容器+ 历史运行过的容器
-n=? #显示最近创建的容器
-q	 #只显示容器的变化

[root@node01 ~]# docker ps -a -n=1
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
1ff5c5015125        centos              "/bin/bash"         9 minutes ago       Exited (0) 5 minutes ago                       kind_ritchie

3. 退出容器
exit #关闭并退出容器
Ctrl + P + Q #退出但不关闭容器
4. 删除容器
# 删除指定的容器,不能删除正在运行的,如果强制删除使用 rm -f
docker rm 容器id
# 删除所有容器
docker rm -f $(docker ps -aq)
#删除所有容器(2)
docker ps -aq | xargs docker rm
5. 启动和停止容器的操作
docker start 	容器id 		#启动容器
docker restart  容器id      #重启容器
docker stop     容器id      #停止当前正在运行的容器
docker kill        容器id      #强制停止当前容器

4.其它常用命令

1.后台启动容器
docker run -d centos
#问题: docker ps ,发现centos停止了
#常见的坑:docker 容器后台运行就必须要有一个前台进程

2.查看日志命令
docker logs -tf --tail 指定日志的行数  容器id
#测试: 
docker run -d centos /bin/sh -c "while true;do echo hongcheshijie;sleep 1;done"
#查看启动的容器信息
docker ps
#查看日志信息 
docker logs -tf --tail 50cc7139de05

在这里插入图片描述

3. 查看容器中的进程命令
docker top  容器id

在这里插入图片描述

4. 查看镜像元数据
docker inspect 容器id

在这里插入图片描述

5. 进入当前正在运行的容器
#方式一
docker exec -it 容器id  /bin/bash
#方式二
docker attach 容器id
#因为之前使用了 while true 所以这里需要使用 ctrl + p + q  退出
#或者重新开启一个终端,强制删除所有容器 docker rm -f $(docker ps -aq)

#区别: 
# docker exec 进入容器后开启一个新的终端,可以在里面操作
# docker attach 进入容器正在执行的终端,不会启动新的进程!

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

6. 手动从容器内拷贝文件到主机上
docker cp 容器id:容器内路径 目标主机路径
#测试:
#启动一个容器并进入
docker run -it centos /bin/bash
# 进入opt目录
cd /opt/
# 创建一个test.txt 文件
touch test.txt
# 退出
exit
# 将文件拷贝到主机上
docker cp e81e989e22eb:/opt/test.txt /opt
# 查看
ll /opt

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值