Docker操作手册

记录一下docker的日常使用命令

1. docker进程

docker进程启动、停止、重启,常见的三种case

启动docker

service docker start

关机docker

service docker stop

重启docker

service docker restart

2. 镜像操作

镜像作为容器执行的前提条件,一般需要掌握的几个命令无非是搜索,下载,删除,创建

镜像列表

docker images

检索镜像, 从镜像仓库中检索

docker search xxx

下载镜像

docker pull xxx

删除镜像

docker rmi xxx

关于创建镜像,有必要稍微详细一点点

通过容器创建镜像

docker commit -m="首次提交" -a="一灰灰Blog" dd85eb055fe8 yh/centos:v0.1

镜像历史查询

docker history yh/centos

上面的几个参数进行说明

-m 和git的提交一样,后面跟上描述信息
-a 版权声明,这个东西是我创建的,有啥问题,找我 dd85eb055fe8 容器id yhh/quick-os:0.1 创建的镜像名

3. 容器操作

接下来就是正菜了,容器的各种操作,启动,关闭,重启,日志查询以及各种进入容器内部搞事情

a. run
万事开头第一步,加载镜像,创建容器

docker run 镜像名:版本

run后面可以跟很多的参数,比如容器暴露端口指定,存储映射,权限等等,由于参数过多,下面只给出几个不同的例子,来具体的演示参数可以怎么加

case1: 创建并后台执行

docker run -i -t -d centos:latest
  • 其中关键参数为-d,指定容器运行与前台或者后台,不加上时前台
  • -i: 打开STDIN,用于控制台交互
  • -t: 支持终端登录

case2: 运行一个带命令在后台不断执行的容器

docker run -d centos:latest ping www.baidu.com

case3: 运行一个在后台不断执行的容器,同时带有命令,程序被终止后还能重启继续跑

docker run -d --restart=always centos:latest ping www.baidu.com

case4: 指定容器名

docker run -d --name=yhh_centos centos:latest

case5: 暴露容器端口80,并与宿主机端口8080绑定

docker run -d --name=yhh_centos -p 8080:80 centos:latest

case6: 指定容器与宿主机目录(/home/yihui/html/www)共享

docker run -d --name=yhh_centos -v /home/yihui/html/www:/var/www centos:latest

b. 基操
容器创建完毕之后,就是一些基本操作了,启动、停止、重启、删除

查看容器列表, 列出所有的容器

docker ps -a 

启动容器,start后面可以跟上容器名,或者容器id

docker start xxx  
# (这里的xxx可以是容器名:yhh_centos 也可以是容器id:f57398ab22c5)

关闭容器

docker stop xxx

重启

docker restart xxx

删除

docker rm xxx

在查看容器列表时,如果某个容器的启动参数特别长,直接使用docker ps -a会发现看不到完整的启动命令,这个时候可以带上参数–no-trunc来显示完整命令

docker ps -a --no-trunc

c. 进阶
接下来进入一些容器的高级操作技巧(实际上也并没有特别酷炫)

为了演示一些进阶的内容,这里创建一个容器作为测试

docker run -it -d --name=yhhos centos

容器日志查询

日志,定位问题的神器

查询xxx容器的日志

docker logs yhhos

基本上不太会直接使用上面的命令,因为上面把所有的日志都打印出来了,可以直接晃瞎我们的钛合金x眼

一般日志可以加两个参数 -f, -t

docker logs -f -t --since="2019-05-11" --tail=10 yhhos
  • –since : 此参数指定了输出日志开始日期,即只输出指定日期之后的日志。
  • -f : 查看实时日志
  • -t : 查看日志产生的日期
  • –tail=10 : 查看最后的10条日志。

文件拷贝

将容器的某个文件捞出来;或者强塞,一个cp即可

将当前目录的test.md文件拷贝到容器的 /tmp 目录下

docker cp test.md yhhos:/tmp

将容器的/tmp/test.md目录拷贝到当前目录下

docker cp yhhos:/tmp/test.md ./out.md

进入容器

进入容器内部,然后就可以为所欲为了…

docker exec -it yhhos /bin/bash

获取容器所有信息

docker inspect yhhos
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值