镜像操作

build

使用dockerfile方式创建镜像

使用dockerfile文件docker build dockerflle/,dockerfile文件默认位于dockerflle/Dockerfile

可以在这里设置cgroup

commit

通过容器创建本地镜像。注意:如果要push到docker hub中,注意生成镜像的命名。

docker commit 容器id 镜像名

docker commit 536f0efeeef3 centostttt

export

将容器的文件系统打包成tar文件

有两种方式:

docker export -o mysqldb1.tarmysqldb

docker export mysqldb >mysqldb.tar

history

显示镜像制作的过程,相当于dockfile

docker history centostttt

IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT

f2bb8fe139f0        46 minutes ago      /bin/bash                                       1.671MB           

8da04c5a9351        56 minutes ago      /bin/sh -c #(nop)  ENV PWD=/root/               0 B                

77d730816eed        56 minutes ago      /bin/sh -c #(nop)  ENV PATH=/usr/local/sbin:/   0 B                

3bee3060bfc8        13 days ago         /bin/sh -c #(nop)  CMD ["/bin/bash"]            0 B                

<missing>           13 days ago         /bin/sh -c #(nop)  LABEL name=CentOS Base Ima   0 B                

<missing>           13 days ago         /bin/sh -c #(nop) ADDfile:d22a9c627d1d1f32a8   192.5 MB  

images

列出本机的所有镜像

import

根据tar文件的内容新建一个镜像,与之前的export命令相对应

docker import mysqldb.tar mysql:v1

eb81de183cd94fd6f0231de4ff29969db822afd3a25841d2dc9cf3562d135a10

load

与save命令相对应,将sava命令打包的镜像通过load命令导入

pull

从docker hub中下载镜像

push

将本地的镜像上传到docker hub中

前提是要先用docker login登录上,不然会报错误

rmi

删除镜像

save

将镜像打包,与上面的load命令相对应

docker save -o nginx.tar nginx

search

从Docker Hub中搜索镜像

tag

对镜像进行重命名

容器生命周期

attach

将终端依附到容器上

docker attachb7a7c4bef5a5

create

创建一个容器。注意,此时,容器的status只是Created

可以在这里设置cgroup【CPU、内存、IO等等】、Capability、namespace、volume等等

docker create -c 2(最少2) --cpuset-cpus 0,2 -m 32m --memory-swap 0-w /root/(更换目录) --blkio-weight 10 --dns 114.114.114.114--name nginx8(容器名称) -p 宿主机端口:容器端口 -v 宿主机目录:容器目录--cpu-period 1000 --expose 22 --shm-size 32m -ti centos6:nginx

exec

用于容器启动后,执行其它的任务。

通过exec命令可以创建两种任务:后台型任务和交互型任务

后台型任务:

docker exec -d cc touch 123  其中cc是容器名

交互型任务:

docker exec -i -t cc /bin/bash

ls

123 bin  boot  dev etc  home  lib lib64  media  mnt opt  proc  root run  sbin  srv sys  tmp  usr var

inspect

用于查看容器的配置信息,包含容器名、环境变量、运行命令、主机配置、网络配置和数据卷配置等。

docker inspect 容器ID或者容器ID列表

返回一个列表(包含字典)

kill

强制终止容器。

参数-s或--signal string:Signal to send to thecontainer (default "KILL")

logs

用于查看容器的日志,它将输出到标准输出的数据作为日志输出到docker logs命令的终端上。常用于后台型容器

pause

暂停容器内的所有进程,此时,通过dockerstats可以观察到此时的资源使用情况是固定不变的,通过docker logs -f也观察不到日志的进一步输出。

port

查看容器端口与宿主机端口的映射情况

docker port blog

80/tcp -> 0.0.0.0:80

容器blog的内部端口80映射到宿主机的80端口,这样可通过宿主机的80端口查看容器blog提供的服务

ps

列出所有容器,其中dockerps用于查看正在运行的容器,ps -a则用于查看所有容器。

rename

更改容器的名字

restart

重启容器

rm

删除容器,注意,删除一个运行中的容器,必须加-f参数

如果要一次性删除所有容器,可使用docker rm -f `docker ps -a -q`,其中,-q指的是只列出容器的ID

run

让创建的容器立刻进入运行状态,该命令等同于docker create创建容器后再使用docker start启动容器

可以在这里设置cgroup【CPU、内存、IO等等】、Capability、namespace、volume等等

start

启动容器

stats

动态显示容器的资源消耗情况,包括:CPU、内存、网络I/O

stop

停止一个运行的容器

top

查看容器中正在运行的进程

unpause

恢复容器内暂停的进程,与pause参数相对应

wait

捕捉容器停止时的退出码

执行此命令后,该命令会“hang”在当前终端,直到容器停止,此时,会打印出容器的退出码。

update

Updateconfiguration of one or more containers

升级一个或者多个容器配置,主要是cgroup

容器文件系统

cp

在容器和本地文件系统上拷贝文件【夹】

docker cp [OPTIONS]CONTAINER:SRC_PATH DEST_PATH|-

dockercp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

docker cp tta49d7ca21839:/root/

docker cpa49d7ca21839:/root/test/ ./

diff

对比容器的文件变化情况

dockerdiff a49d7ca21839

volume

Manage Dockervolumes

其他

events

实时或者指定时间戳输出Docker服务器端的事件,包括容器的创建,启动,关闭等。

info

查看docker的系统信息

login

登录到自己的Dockerregister,需有Docker Hub的注册账号

docker login

Username: ivictor

Password:

Email: xxxx@foxmail.com

WARNING: login credentials saved in /root/.docker/config.json

Login Succeeded

logout

退出登录

docker logout

Remove logincredentials for https://index.docker.io/v1/

version

查看docker的版本

network

Manage Dockernetworks

docker网络管理

node

Manage DockerSwarm nodes

service

Manage Docker services

swarm

Manage DockerSwarm

区别

stop和kill、wait

docker stop命令给容器中的进程发送SIGTERM信号,默认行为是会导致容器退出,当然,容器内程序可以捕获该信号并自行处理,例如可以选择忽略。

docker kill则是给容器的进程发送SIGKILL信号,该信号将会使容器必然退出

docker wait捕捉容器停止时的退出码。执行此命令后,该命令会“hang”在当前终端,直到容器停止,此时,会打印出容器的退出码。

run和create、start

create只是创建容器,没有启动。可以配置cgroup

start是启动容器

run是创建并启动容器,run=create+start。可以配置cgroup

exec和attach

exec

在启动的容器上执行命令,可以分为后台和交互式。

交互式执行类似attach,但退出之后不会结束容器。

attach

在容器上附属一个终端,退出之后可能会结束容器(容器启动命令为/etc/bash)

[置顶] docker1.12--docker命令行帮助文档的更多相关文章

  1. 深入浅出Docker(二):Docker命令行探秘

    1. Docker命令行 Docker官方为了让用户快速了解Docker,提供了一个交互式教程,旨在帮助用户掌握Docker命令行的使用方法.但是由于Docker技术的快速发展,此交互式教程已经无法满 ...

  2. docker命令行学习

    docker命令行学习 docker run docker run --help:老实说这条最管用了 docker run -it:交互模式,允许控制台输出 docker run -d:detach, ...

  3. Docker命令行与守护进程如何交互?

    译者按: Docker是典型的C/S架构,其守护进程(daemon)与命令行(CLI)是通过REST API进行交互的. 原文: Understanding how the Docker Daemon ...

  4. 第12章:MongoDB-CRUD操作--文档--查询--游标详解

    ①是什么游标 游标不是查询结果,可以理解为数据在遍历过程中的内部指针,其返回的是一个资源,或者说数据读取接口. 客户端通过对游标进行一些设置就能对查询结果进行有效地控制,如可以限制查询得到的结果数量. ...

  5. 如何用JavaDoc命令生成帮助文档

    如何用JavaDoc命令生成帮助文档 文档注释 在代码中使用文档注释的方法 /** *@author *@version * */ 生成帮助文档 打开java文件所在位置,在路径前加入cmd (注意有 ...

  6. 每个Web开发者都该了解的12条命令行

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者.原文出处:https://tutorialzine.com/2017/08/12-terminal-comma ...

  7. 一步一步从原理跟我学邮件收取及发送 12.telnet命令行收一封信pop3

    本系列上一篇文章中我们就说到了,这一次我们要说 pop3 收信了.虽然我觉得应该先说完 mime 格式,不过估计大家已经不耐烦了 -- 怎么老在说发送啊?我们要看收取!    好吧,来啦,来啦!收取邮 ...

  8. [置顶] 推荐12款很棒的HTML5开发框架和开发工具

    HTML5 在不同的领域让网页设计更强大的.快速,安全,响应式,互动和美丽,这些优点吸引更多的 Web 开发人员使用 HTML5.HTML5 有许多新的特性功能,允许开发人员和设计师创建应用程序和网站 ...

  9. linux上部署engineercms、docker和onlyoffice实现文档协作

    等了好久,这次终于下决心在局域网部署了linux系统,并安装docker和load了onlyoffice,利用engineercms进行资料管理和文档协作. 我整理了完整文档,见我的网盘. engin ...

随机推荐

  1. Angular & RxJS & Typesc­ript

    Angular & RxJS & Typesc­ript https://www.wmnetwork.cc/d/?mid=75627 杭州经开区国际创博中心 https://www.w ...

  2. 存储 磁盘大于2TB 大数据存储一个盘 解决方法

    1.vmware虚拟机环境下可以做裸映射 但是一个存储 只能对应一个虚拟主机裸映射 我已经在一个10TB的存储上做好多个主机,就不适用了 2.在虚拟机上添加5个2TB磁盘,磁盘管理中新建 带区卷 可以 ...

  3. java中unmodifiableList方法的应用场景

    java对象中primitive类型变量可以通过不提供set方法保证不被修改,但对象的List成员在提供get方法后,就可以随意add.remove改变其结构,这不是希望的结果.网上看了下,发现Col ...

  4. 洛谷树剖模板题 P3384 | 树链剖分

    原题链接 对于以u为根的子树,后代节点的dfn显然比他的dfn大,我们可以记录一下回溯到u的dfn,显然这两个dfn构成了一个连续区间,代表u及u的子树 剩下的就和树剖一样了 #include< ...

  5. 雅礼集训 Day2 T3 联盟 解题报告

    联盟 题目描述 \(\text{G}\) 国周边的 \(n\) 个小国家构成一个联盟以抵御 \(\text{G}\) 国入侵, 为互相支援,他们建立了\(n−1\) 条双向通路, 使得任意两个国家可以 ...

  6. Android应用开发EditText文本内容变化监听方法

    import android.app.Activity; import android.os.Bundle; import android.text.Editable; import android. ...

  7. Maven入门指南(一)—— Maven下载与安装

    Maven下载与安装 1.下载1)Maven的系统要求: Maven对内存和操作系统没有要求 Maven安装本身仅需大约10MB,本地仓库视使用情况有所不同 Maven3.3及以上版本需要JDK1.7 ...

  8. urb数据结构【转】

    转自:http://blog.csdn.net/myarrow/article/details/7025065 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 一 transf ...

  9. VS2005重置所有设置

    1. 关闭VS 2. 在命令行运行microsoft visual studio 8\common7\ide\devenv.exe /setup /resetuserdata /resetsettin ...

  10. 委托delegate与Dictionary实现action选择器

    大家一定都有这种情况,1.前台页面信息是通过Ajax请求的方法加载的;2.或者是通过请求本页面加载的;3.请求的页面不仅仅是一个Http请求在 这咱情况下我们一般会加一个action的参数,用于区别是 ...