镜像操作

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. 会话管理 session实现多页面传输数据

    以下面购物车几个页面传输数据为例html页面有index.html <!DOCTYPE html> <html lang="en"> <head> ...

  2. .Net MVC断点进不去

    .Net MVC断点进不去 1.httpget  httppost 2.启动项设为UI 3.基于页面没错误的情况下

  3. vue.$refs 的用法

    官网给出的解释是: 被用来给元素或子组件注册引用信息.引用信息将会注册在父组件的 $refs 对象上. 1.如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素; 2.如果用在子组件上,引用 ...

  4. BZOJ2763 [JLOI2011]飞行路线 【分层图 + 最短路】

    题目 Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在n个城市设有业务,设这些城市分别标记为0到n-1,一共有m种航线,每种航线连接两个城市,并且航线有一定的价格 ...

  5. 51nod 1583 犯罪计划——矩阵乘法优化dp

    文泽想在埃及做案n次,并且想在最后不用得到惩罚.案件的被分成几种类型.比如说,案件A,当案件A被重复犯两次时,案件A将被认为不是犯罪案件,因此犯案人不用得到惩罚.也就是说,案件A被犯偶数次时,犯案人将 ...

  6. HDU1083_Courses_课程_C++

    给你们人工翻译一下题目哈,刚好练一下英语 对于一个组中有 N 个学生和 P 种课程.每个学生能够参加0种,1种或者更多的课程.你的任务是找到一种可能的方案使恰好P个学生同时满足下列条件: ‧ 方案中的 ...

  7. matlab7 + sqlitejdbc-v056.jar出现错误

    conn=database('data.db','','','org.sqlite.JDBC','jdbc:sqlite:C:/MATLAB7/work/del_man_voice_from_wave ...

  8. (十)Linux查看系统信息的一些命令及查看已安装软件包的命令

    转自:http://cheneyph.iteye.com/blog/824746 系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看 ...

  9. 我使用的Sublime插件及配置

    我使用的Sublime插件及配置 增强型插件 Package Control 快捷键ctrl+~,调出命令行,运行: import urllib.request,os,hashlib; h = '29 ...

  10. ASP.NET增加微信公众号功能

    最近微信的公众号使用的挺多的.我们也弄了个,现在有个需求就是在用户点击菜单的时候,获取用户的OPENID,然后作为后续使用. 首先记录下步骤, 安装必要的dll引用 install-package s ...