docker 常用命令

Docker的常用命令

帮助命令

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

service docker start	# 启动docker服务

镜像命令

自己项目上传到docker

docker build -t [镜像名] .		#最后的 . 不要忘

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

[root@liu ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              bf756fb1ae65        8 months ago        13.3kB

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

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

docker search 搜索镜像

[root@liu ~]# docker  search mysql
NAME 		DESCRIPTION 					STARS 				OFFICIAL		 	AUTOMATED
mysql 		MySQL is a widely used, open-source relation…   9911  

# 可选项
--filter , -f		Filter output based on conditions provided

docker search mysql -f=stars=5000

docker pull下载镜像

# 下载镜像 docker pull 镜像名[:tag]
[root@liu ~]# docker pull mysql
Using default tag: latest # 如果不写tag,默认就是latest
latest: Pulling from library/mysql 
bf5952930446: Pull complete # 分层下载,docker image的核心 联合文件系统
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.io/library/mysql:latest

# 指定版本下载
docker pull mysql:5.7

[root@liu ~]# 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 rm删除镜像

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

docker run 启动容器

docker run [可选参数] image

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

# 测试,启动并进入容器
[root@AlibabaECS bin]# docker run -it centos /bin/bash

列出所有的运行的容器

# docker ps 命令
			 # 列出当前正在运行的容器
	-a   	# 列出当前正在运行的容器+带出历史运行过的容器
	-n=? 	# 显示最近创建的容器
	-q   	# 只显示容器的编号

退出容器

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

常用命令

docker pull #下载镜像 docker image pull

docker rmi #删除镜像 docker image rm

docker images

docker images -a  #列出所有镜像详细信息
docker images -aq #列出所有镜像的id
docker search mysql #查询网上的mysql的镜像 
#  --filter=STARS=3000 #过滤,搜索出来的镜像收藏STARS数量大于3000的

#等价于
docker pull tomcat:8
docker pull docker.io/library/tomcat:8

docker rmi -f 镜像id #删除指定id的镜像
docker rmi -f $(docker images -aq) #删除全部的镜像
docker stop $(docker ps -a -q) #停止所有的容器
docker pull centos        #docker中下载centos
docker run 镜像id         #新建容器并启动
docker container list -a  # 查看所有的容器
docker ps -a              # 查看所有的容器
docker rm 容器id          #删除指定容器
docker start 容器id	      #启动容器
docker restart 容器id     #重启容器
docker stop 容器id	      #停止当前正在运行的容器
docker kill 容器id	      #强制停止当前容器

后台启动命令

docker run -d centos #这都是看不到信息的

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

查看日志

docker logs --help
Options:
      --details        Show extra details provided to logs 
*  -f, --follow         Follow log output
      --since string   Show logs since timestamp (e.g. 2013-01-02T13:23:37) or relative (e.g. 42m for 42 minutes)
*      --tail string    Number of lines to show from the end of the logs (default "all")
*  -t, --timestamps     Show timestamps
      --until string   Show logs before a timestamp (e.g. 2013-01-02T13:23:37) or relative (e.g. 42m for 42 minutes)
➜  ~ docker run -d centos /bin/sh -c "while true;do echo 6666;sleep 1;done" #模拟日志      
#显示日志
-tf		#显示日志信息(一直更新)
--tail number #需要显示日志条数
docker logs -t --tail n 容器id #查看n行日志
docker logs -ft 容器id #跟着日志

查看容器进程信息

docker inspect 容器id
docker inspect 镜像id
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

立勤.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值