03-Docker的常用命令

Docker的常用命令

xshell

帮助命令

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

帮助文档的地址: https://docs.docker.com/engine/reference/commandline/

镜像命令

docker images # 查看所有本地的主机上的镜像

[root@tianqinglong101 /]# docker images # 查看所有本地的主机上的镜像
REPOSITORY    TAG        IMAGE ID     CREATED        SIzE
he11o-world   latest   bf756fb1ae65  4months ago     13.3kB

# 解释
REPOSITORY	镜像的仓库源
TAG 	  	镜像的标签
IMAGE ID  	镜像的id
CREATED   	镜像的创建时间
SIZE      	镜像的大小

# 可选项
-a  # 列出所有镜像
-q  # 只显示镜像的id

docker search mysql # 搜索镜像

docker search mysql  # 搜索镜像
可选顶,过滤
--filter=STARS=3000   #搜索出来的镜像就是STARS等于3000的
[root@tianqinglong101 /]# docker search mysq1 --filter=STARS=3000

在这里插入图片描述

docker pull 下载镜像

docker pull # 下载镜像

#下载镜像docker pu1l 镜像名[:tag]
[root@tianqinglong01 /]# docker pull mysql
using default tag: latest # 如果不写tag,默认就是latest(最新)
1atest: Pu1ling from library/mysql
5b54d594fba7: Pull complete# 分层下载,docker iamge的核心联合文件系统
07e7d6a8a868: Pull complete
abd946892310: Pull complete
dd8f4d07efa5: Pull complete
076d396a6205: Pull complete
cf6b2b93048f: Pull complete
530904b4a8b7: Pull complete
fb1e55059a95: Pull complete
4bd29a0dcde8: Pull complete
b94a001c6ec7: Pull complete
cb77cbeb422b: Pull complete
2a35cdbd42cc: Pull complete
Digest: sha256:dc255ca50a42b3589197000b1f9bab2b4e010158d1a9f56c3db6ee145506f625 # 签名
status : Downloaded newer image for mysql:latest
docker.io/1ibrary/mysql:latest # 真实地址

# 等价于它
docker pull mysql
docker pull docker.io/library/mysql:latest

#指定版本下载
[root@tianqinglong01 /]# docker pull mysql:5.7   #版本必须有
07e7d6a8a868: Already exists
abd946892310: Already exists
dd8f4d07efa5: Already exists
076d396a6205: Already exists
cf6b2b93048f: Already exists
530904b4a8b7: Already exists
fb1e55059a95: Already exists
4bd29a0dcde8: Pull complete
b94a001c6ec7: Pull complete
cb77cbeb422b: Pull complete
2a35cdbd42cc: Pull complete
status : Downloaded newer image for mysql:5.7
docker.io/1ibrary/mysql:5.7

docker rmi -f 镜像id 删除镜像!

在这里插入图片描述

docker rmi  -f  镜像id 镜像id # 删除多个容器 空格隔开
docker rmi  -f  ${docker images -aq} # 删除所有的容器

容器命令

说明︰我们有了镜像才可以创建容器,linux,下载一个centos镜像来测试学习

 docker pull centos

新建容器并启动

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

# 测试,启动并进入容器
[root@tianqinglong /] # docker run -it centos /bin/bash
[root@e4eccco1b495 /]# ls #查看容器内的centos,基础版本,很多命令都是不完善的!
bin dev etc home 1ib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usrvar
#从容器中退回主机
[root@e4eccco1b495 /]# exit
exit
[root@tianqinglong /] # ls
bindev home kuangshen lib64  media  optproc run share sys usr www
bootetc hpt lib  lost+found mntpatch root sbin srvtmpvar

列出所有的运行容器

# docker ps 命令
	 #列出当前正在运行的容器
-a   #列出当前正在运行的容器+带出历史运行过的容器
-n=? #显示最近创建的容器
-q   #只显示容器的编号
[root@tianqinglong /]#docker ps
CONTAINER ID   IMAGE    COMMAND     CREATED    STATUS
PORTS	NAMES
[root@kuangshen /]# docker ps -a
CONTAINER ID    IMAGE     COMMAND     CREATED     STATUs
PORTS       NAMES      
e4eccco1b495   centos    "/bin/bash" 2 minutes ago Exited (o)About a
minute ago 			modest_he11man
74bfa7 d94103 	bf756fb1ae65  "/hello" 50 minutes ago Exited (o) so minutes
ago
optimistic_almeida

退出容器

exit  		# 直接容器停止并退出
ctrl+P+Q 	# 容器不停止退出

删除容器

docker rm 容器id # 删除指定的容器,不能删除正在运行的容器,如果要强制删除 rm -f
docker rm -f $(docker ps -aq) 		# 删除所有的容器
docker ps -a -q | xargs docker rm   # 删除所有的容器(扩展)

启动和停止容器的操作

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

常用其他命令

后台启动命令

# 命令 docker run -d 镜像名!
[root@tianqinglong /]# docker run -d centos

# 问题docker ps,发现 centos停止了

# 常见的坑,docker容器使用后台运行,就必须要有要一个前台进程,docker发现没有应用,就会自动停止
# nginx,容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序了

查看日记

docker logs -f -t --tail 容器,没有日志
#自己编写一段shell脚本
[root@tianqinglong /]# docker run -d centos /bin/sh -c "while true;do echo tianqinglong;sleep 1; done"
[root@tianqinglong /]# docker ps
CONTAINER ID    IMAGE
dce7b86171bf    centos
#显示日志
-tf  			#显示日志
--tail number	#要显示日志条数
[root@tianqinglong /]# docker logs -tf --tail 10 dce7b86171bf

查看容器中进程信息

docker top 容器id

查看镜像的元数据

docker inspect 容器id

进入当前正在运行的容器(重要)

# 我们通常容器都是使用后台方式运行的,需要进入容器,修改一些配置

# 命令
docker exec -it 容器id  bashshell
# 例
docker exec -it dce7b86171bf /bin/bash

#方式二
docker attach 容器id
# 正在执行当前的代码....

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

从容器内拷贝文件到主机上

docker cp 容器id:容器内路径   目的的主机路径

[root@tianqinglong home]# docker cp dce7b86171bf:/home/text.java  /home
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值