小白都能懂的 玩转docker系列之 docker常用命令(基本命令)

帮助命令:

docker version	   #显示docker的版本信息
docker info        #显示docker的系统信息,包括镜像和容器的数量
docker 命令 --help #万能命令

帮助文档的地址:
https://docs.docker.com/reference/
在这里插入图片描述
镜像命令:

docker images

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

#解释
REPOSITORY: 镜像仓库源
TAG       : 镜像的标签
IMAGE ID  : 镜像的ID
CREATD    : 镜像的创建时间
SIZE      : 镜像的大小
#可选项
-a, --all       #列出所有的镜像
-q, --quiet    #只显示镜像的id

在这里插入图片描述

docker search 搜索镜像

在这里插入图片描述

可选项,通过收藏来过滤
--filter=STARS=3000    #搜索出来的镜像就是STARS大于3000的

在这里插入图片描述

docker pull 	#下载镜像

[root@xiaoxiao ~]# docker pull mysql
Using default tag: latest	#如果不写tag,默认是latest
latest: Pulling from library/mysql
bf5952930446: Pull complete 	#分层下载,docker images的核心,联合文件系统
8254623a9871: Pull complete 
938e3e06dac4: Pull complete 
ea28ebf28884: Pull complete 
f3cef38785c2: Pull complete 
894f9792565a: Pull complete 
1d8a57523420: Pull complete 
6c676912929f: Pull complete 
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	#真实地址

#上面的命令等价于
docker pull mysql
docker pull docker.io/library/mysql:latest

#指定版本下载
[root@xiaoxiao ~]# 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

现在去看下镜像
在这里插入图片描述

docker rmi	#删除镜像
docker rmi	-f 容器id	#删除指定镜像
docker rmi	-f 容器id 容器id		#删除多个镜像
docker rmi -f $(docker images -aq)		#删除全部镜像

#可选项
-f, --force		#强制删除

在这里插入图片描述

容器命令:
前提:有了镜像才可以创建容器

#下载一个centos
docker pull centos

新建容器并启动

docker run [可选参数] image

#参数说明
--name "Name" 	#容器名字,比如tomcat01,tomcat02,用来区分容器
-d				#后台方式运行
-it				#使用交互方式运行,进入容器查看内容
-p				#指定容器端口 -p 8080:8080
				-p ip:主机端口:容器端口(常用)
				-p 主机端口:容器端口(常用)
				-p 容器端口
				容器端口
-P				#随机指定端口

测试一下,进入容器:

[root@xiaoxiao ~]# docker run -it centos /bin/bash
[root@d9c5877445f5 /]# ls		#查看容器内的centos
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@d9c5877445f5 /]# exit
exit			#退出容器
[root@xiaoxiao ~]# 

列出所有运行的容器

docker ps #列出当前正在运行的容器

-a		#列出当前运行的容器以及历史运行过的容器
-n=?	#显示最近创建的容器
-q		#显示容器的编号

[root@xiaoxiao ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@xiaoxiao ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
d9c5877445f5        centos              "/bin/bash"         9 minutes ago       Exited (0) 5 minutes ago                       recursing_snyder
8c965d40baa1        centos              "/bin/bask"         9 minutes ago       Created                                        busy_haslett
852121dd4f09        bf756fb1ae65        "/hello"            2 days ago          Exited (0) 2 days ago                          zealous_murdock
[root@xiaoxiao ~]# docker ps -a -n=1
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
d9c5877445f5        centos              "/bin/bash"         9 minutes ago       Exited (0) 6 minutes ago                       recursing_snyder
[root@xiaoxiao ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@xiaoxiao ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
d9c5877445f5        centos              "/bin/bash"         9 minutes ago       Exited (0) 5 minutes ago                       recursing_snyder
8c965d40baa1        centos              "/bin/bask"         9 minutes ago       Created                                        busy_haslett
852121dd4f09        bf756fb1ae65        "/hello"            2 days ago          Exited (0) 2 days ago                          zealous_murdock
[root@xiaoxiao ~]# docker ps -a -n=1
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
d9c5877445f5        centos              "/bin/bash"         9 minutes ago       Exited (0) 6 minutes ago                       recursing_snyder

退出容器

exit	#容器停止并退出

删除容器

docker rm 容器id		  #删除指定容器
docker rm -f $(docker ps -aq)	  #删除所有容器
docker ps -a -q|xargs docker rm	  #删除所有容器

[root@xiaoxiao ~]# docker rm 9d20594d42b6 #不能直接删除正在运行的容器,需要加 -f
Error response from daemon: You cannot remove a running container 9d20594d42b6d7a07696f93282d856d1f3c9f9bd402ae4a1f77e18ddac491702. Stop the container before attempting removal or force remove
[root@xiaoxiao ~]# 
[root@xiaoxiao ~]# docker rm -f 9d20594d42b6
9d20594d42b6
[root@xiaoxiao ~]# docker ps -aq
d9c5877445f5
8c965d40baa1
852121dd4f09
[root@xiaoxiao ~]# docker rm -f $(docker ps -aq)
d9c5877445f5
8c965d40baa1
852121dd4f09
[root@xiaoxiao ~]# docker ps -aq

启动和停止容器动作

docker start 容器id		#启动容器
docker restart 容器id	#重启容器
docker stop 容器id		#停止当前正在运行的容器
docker kill 容器id		#强制停止当前容器

好了,今天就先到这里吧,欢迎大家关注狂神~

猜你喜欢

转载自blog.csdn.net/weixin_45806131/article/details/108192614