记录一下docker的日常使用命令,本文主要针对linux + mac操作系统而言,window是否适用不太确定,谨慎使用

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

II. 其他

1. 一灰灰Bloghttps://liuyueyi.github.io/hexblog

一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛

2. 声明

尽信书则不如,已上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激

3. 扫描关注

一灰灰blog

Docker 常用命令速查手册的更多相关文章

  1. Docker常用命令速查手册(华贵铂金版)

    原创声明:作者:Arnold.zhao  博客园地址:https://www.cnblogs.com/zh94 Docker常用命令速查手册 搜索仓库镜像 docker search nginx 获取 ...

  2. Ubuntu常用命令速查手册-珍藏版-完整版

    sudo apt-get install 软件名 安装软件命令 sudo nautilus 打开文件(有root权限) su root 切换到“root” ls 列出当前目录文件(不包括隐含文件) l ...

  3. Linux系统常用命令速查手册

    点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 系统信息 arch      #显示机器的处理器架构(1 ...

  4. Git常用命令速查手册

    Git组成 1.初始化仓库 git init 2.将文件添加到仓库 git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文 ...

  5. Git 常用命令速查手册

    来源:https://www.jianshu.com/p/5ee9897b6b65 1.初始化仓库 git init 2.将文件添加到仓库 git add 文件名 # 将工作区的某个文件添加到暂存区 ...

  6. Docker常用命令速查

    docker pull ${CONTAINER NAME} #拉取镜像 docker images #查看本地所有镜像 docker ps #查看所有正在运行的容器,加-q返回id docker ps ...

  7. [Git]Git常用命令速查手册

    看的别人的文章,来源:https://mp.weixin.qq.com/s/SGRcE9EPOu4Tph65tzPzQw

  8. Linux常用命令速查备忘

    Linux常用命令速查备忘   PS:备忘而已,详细的命令参数说明自己man 一. 启动,关机,登入,登出相关命令 [login] 登录 [logout] 登出 [exit] 登出 [shutdown ...

  9. Git 常用命令速查表(图文+表格)【转】

    转自:http://www.jb51.net/article/55442.htm 一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git comm ...

随机推荐

  1. .net core使用jwt自动续期

    小弟不C才,最近看了下网上的jwt方案,于是自己写了一个简单的jwt方案和大家分享下,希望大家给点意见! 假如有一个读书网站,可以不用登陆就访问,当需要自己写文章的时候就必须登录,并且登录之后如果一段 ...

  2. APS.NET MVC + EF (10)---使用AJAX

    在Web系统中,Ajax技术已经成为提高用户体验的必备技术.开发Ajax程序,涉及两方面的内容:一是客户端技术,二是服务器端技术. (1)客户端技术 核心工作是通过JavaScript向服务器发送数据 ...

  3. ORA-03113: 通信通道的文件结束解决方法一例

    开发项目时,使用的是Oracle数据库.最近遇到了“ORA-03113: 通信通道的文件结束”错误.如下图所示: 经过网上查资料和请教同事,终于找到了解决ORA-03113错误的办法. 解决步骤如下: ...

  4. win10安装MySQL5.6.

    我分了两种下载安装的方式给大家看,注意数据库这个东西不在乎版本是不是最新,在乎的是够稳定,现在公司中常用的是mysql5.5和mysql5.6的版本,我现在就用mysql5.6的版本给大家来演示一下: ...

  5. json串处理2

    请求百度地址坐标:http://api.map.baidu.com/location/ip?ak=y0Yb5ZgGK9blTDbR7Dwh9jGtn6X1YE48&coor=bd09ll&am ...

  6. Linux组管理(6)

    在linux中每个用户必须属于一个组,不能独立于组外.在linux中每个文件有所有者.所在组.其它组的概念. 文件/目录的所有者:一般为文件的创建者,谁创建了该文件,就自然成为该文件的所有者 查看文件 ...

  7. redis的两种持久化方案

    前言 人生在于折腾系列,网络,多线程等系列博客楼主还在继续折腾也不会放弃.缓存的知识其实并不仅仅在于简单的增删改查,我觉得有必要全面深入的学习一波.记录学习的过程与体悟. RDB 什么是RDB 对re ...

  8. 解决 new file()在IOS下不兼容 的问题

    最近 做项目,做的要是拍照后上传相片,以file格式上传..所以 拍照 后用canvas生成base64格式再转file..在PC和安卓都是没有问题,到IOS上面不行..new file后就是生成一个 ...

  9. Excel 使用VBA或宏----简单笔记

    一.一种纯粹的录制宏.(未使用此方法,如有兴趣可自学),就是Excel提供了“所见即所得”的方式生成宏.把自己想要的操作记录,录制成宏. 自学网等各种网站有教学视频或文章 二.常用VBA语法及函数笔记 ...

  10. 【Thinkphp】引入第三方类库常见问题

    TP3.2在添加第三方sdk的时候,文件放在ThinkPHP/Library/Org文件夹下可独立创建文件夹(官方文档有其他思路)需对文件做以下修改. 1.第一应该修改文件的名称(下载的sdk一般是 ...