1. 查看docker信息(version、info)
  1. # 查看docker版本
  2. $docker version
  3. # 显示docker系统的信息
  4. $docker info

2. 对image的操作(search、pull、images、rmi、history)

  1. # 检索image
  2. $docker search image_name
  3. # 下载image
  4. $docker pull image_name
  5. # 列出镜像列表; -a, --all=false Show all images; --no-trunc=false Don't truncate output; -q, --quiet=false Only show numeric IDs
  6. $docker images
  7. # 删除一个或者多个镜像; -f, --force=false Force; --no-prune=false Do not delete untagged parents
  8. $docker rmi image_name
  9. # 显示一个镜像的历史; --no-trunc=false Don't truncate output; -q, --quiet=false Only show numeric IDs
  10. $docker history image_name

3. 启动容器(run)

docker容器可以理解为在沙盒中运行的进程。这个沙盒包含了该进程运行所必须的资源,包括文件系统、系统类库、shell 环境等等。但这个沙盒默认是不会运行任何程序的。你需要在沙盒中运行一个进程来启动某一个容器。这个进程是该容器的唯一进程,所以当该进程结束的时候,容器也会完全的停止。

# 在容器中运行"echo"命令,输出"hello word"

  1. $docker run image_name echo "hello word"
  2. # 交互式进入容器中
  3. $docker run -i -t image_name /bin/bash
  4. # 在容器中安装新的程序
  5. $docker run image_name apt-get install -y app_name

Note:  在执行apt-get 命令的时候,要带上-y参数。如果不指定-y参数的话,apt-get命令会进入交互模式,需要用户输入命令来进行确认,但在docker环境中是无法响应这种交互的。apt-get 命令执行完毕之后,容器就会停止,但对容器的改动不会丢失。

4. 查看容器(ps)

  1. # 列出当前所有正在运行的container
  2. $docker ps
  3. # 列出所有的container
  4. $docker ps -a
  5. # 列出最近一次启动的container
  6. $docker ps -l

5. 保存对容器的修改(commit)

当你对某一个容器做了修改之后(通过在容器中运行某一个命令),可以把对容器的修改保存下来,这样下次可以从保存后的最新状态运行该容器。
  1. # 保存对容器的修改; -a, --author="" Author; -m, --message="" Commit message
  2. $docker commit ID new_image_name

Note:  image相当于类,container相当于实例,不过可以动态给实例安装新软件,然后把这个container用commit命令固化成一个image。

6. 对容器的操作(rm、stop、start、kill、logs、diff、top、cp、restart、attach)

  1. # 删除所有容器
  2. $docker rm `docker ps -a -q`
  3. # 删除单个容器; -f, --force=false; -l, --link=false Remove the specified link and not the underlying container; -v, --volumes=false Remove the volumes associated to the container
  4. $docker rm Name/ID
  5. # 停止、启动、杀死一个容器
  6. $docker stop Name/ID
  7. $docker start Name/ID
  8. $docker kill Name/ID
  9. # 从一个容器中取日志; -f, --follow=false Follow log output; -t, --timestamps=false Show timestamps
  10. $docker logs Name/ID
  11. # 列出一个容器里面被改变的文件或者目录,list列表会显示出三种事件,A 增加的,D 删除的,C 被改变的
  12. $docker diff Name/ID
  13. # 显示一个运行的容器里面的进程信息
  14. $docker top Name/ID
  15. # 从容器里面拷贝文件/目录到本地一个路径
  16. $docker cp Name:/container_path to_path
  17. $docker cp ID:/container_path to_path
  18. # 重启一个正在运行的容器; -t, --time=10 Number of seconds to try to stop for before killing the container, Default=10
  19. $docker restart Name/ID
  20. # 附加到一个运行的容器上面; --no-stdin=false Do not attach stdin; --sig-proxy=true Proxify all received signal to the process
  21. $docker attach ID

Note: attach命令允许你查看或者影响一个运行的容器。你可以在同一时间attach同一个容器。你也可以从一个容器中脱离出来,是从CTRL-C。

7. 保存和加载镜像(save、load)

当需要把一台机器上的镜像迁移到另一台机器的时候,需要保存镜像与加载镜像。

# 保存镜像到一个tar包; -o, --output="" Write to an file

  1. $docker save image_name -o file_path
  2. # 加载一个tar包格式的镜像; -i, --input="" Read from a tar archive file
  3. $docker load -i file_path
  4. # 机器a
  5. $docker save image_name > /home/save.tar
  6. # 使用scp将save.tar拷到机器b上,然后:
  7. $docker load < /home/save.tar

8、 登录registry server(login)

  1. # 登陆registry server; -e, --email="" Email; -p, --password="" Password; -u, --username="" Username
  2. $docker login

9. 发布image(push)

  1. # 发布docker镜像
  2. $docker push new_image_name

10.  根据Dockerfile 构建出一个容器

  1. #build
  2. --no-cache=false Do not use cache when building the image
  3. -q, --quiet=false Suppress the verbose output generated by the containers
  4. --rm=true Remove intermediate containers after a successful build
  5. -t, --tag="" Repository name (and optionally a tag) to be applied to the resulting image in case of success
  6. $docker build -t image_name Dockerfile_path

 

Docker常用命令大全的更多相关文章

  1. Docker在centos上的安装与常用命令大全

    docker的安装与加速器配置 安装docker:yum install docker (默认安装路径/var/lib/docker) 启动docker服务:systemctl start docke ...

  2. 【易筋经】Llinux服务器初始化及常用命令大全

    Llinux服务器初始化及常用命令大全 1.关闭防火墙以及内核安全机制 systemctl stop firewalld systemctl disable firewalld ##永久性关闭 set ...

  3. db2常用命令大全

    #显示这个DB2错误的解释信息(SQLSTATE 5位数字)db2 ? 42704 #显示这个SQLCODE的解释信息(SQLCODE 四位数字) db2 ? SQL0204N ##查看数据库指定配置 ...

  4. linux 常用命令大全

    linux 常用命令大全 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统 ...

  5. Ubuntu常用命令大全(转)

    点评:Ubuntu常用命令大全,学习ubuntn系统的朋友可以收藏下,用ctrl+F查找即可 一.文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件) ls -a 列出当前目录文件(包括隐含文件 ...

  6. 关于Docker 常用命令

    Docker 常用命令 分类列一下常用的CLI命令 仓库相关 search/ pull / push / login etc. 例:docker pull ubuntu 从仓库下载ubuntuimag ...

  7. 100个命令Linux常用命令大全

    Linux常用命令大全100条: 1,echo "aa" > test.txt 和 echo "bb" >> test.txt//>将原 ...

  8. 【Docker】(3)---linux部署Docker、Docker常用命令

    linux部署Docker.Docker常用命令 本次部署Linux版本:CentOS 7.4 64位. 说明: 因为Docker是基于Linux 64bit的 所以Docker要求64位的系统且内核 ...

  9. Linux常用命令大全(非常全!!!)

    Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短 ...

随机推荐

  1. SQL语句/函数汇总

    1.CHARINDEX(短字符A,长字符B) 说明:返回A在B的位置,从1开始,若B中不存在A,则为0 例如: SELECT CHARINDEX('aaaa','abaaaacded')  ----- ...

  2. 14 Generator

    Generator 就是可以返回多个结果,也是支持 Iterator 接口. function* helloWorldGenerator() { yield 'hello'; yield 'world ...

  3. 数据结构之平衡查找树(AVL)

    AVL树的旋转操作 图解 最详细 各大教课书上讲的都是左旋与右旋,其实这样很容易理解错误,我们换一种叫法.我们称呼左旋为:逆进针旋转.我们称呼右旋为:顺进针旋转.

  4. 移动web页面前端开发总结

    移动web在当今的发展速度是一日千里,作为移动领域的门外汉,在这段时间的接触后,发现前端开发这一块做一个小小的总结. 1.四大浏览器内核 1.Trident (IE浏览器) :因为在早期IE占有大量的 ...

  5. jshint字段的意义

    1.安装jshint插件    npm install jshint -g 2.在需要对JS进行语法检测的文件上一层目录添加.jshintrc文件 .jshintrc是一个对象,类似: { " ...

  6. Python

    语法 #!/usr/bin/python 注释:# 编码:# -*- coding: UTF-8 -*- 缩进 运算符 算数运算符 + 加 - 两个对象相加 a + b 输出结果 30 - 减 - 得 ...

  7. python3 安装scrapy

    twisted(网络异步框架) wget https://pypi.python.org/packages/dc/c0/a0114a6d7fa211c0904b0de931e8cafb5210ad82 ...

  8. HTTP 错误 404.3 – Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。

    今天,在vs2013中新建了一个placard.json文件,当我用jq读取它的时候,去提示404,直接在浏览器访问这个文件,提示: HTTP 错误 404.3 – Not Found 由于扩展配置问 ...

  9. JS这些代码你都不会,你还有什么好说的!!!

    都说自己工资低的,先看看这些代码你能写出来不?这些都不会,你还嫌工资?

  10. 监视 Windows 剪切板

    一.先看代码 import win32con,win32gui import win32clipboard as cb class MyWindow(): def __init__(self): #注 ...