博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker学习笔记
阅读量:4162 次
发布时间:2019-05-26

本文共 1727 字,大约阅读时间需要 5 分钟。

最近项目组内准备搞一个培训,大家要轮番给其他成员讲点什么。正赶上我有心钻研一下docker。秉承着以教会别人来证明自己学会的理念,对最近所学进行整理。即为笔记也作讲义。

Docker的基本概念和安装方法网上一撸一片,在这里就不一一赘述了。只需要明白镜像就像是面向对象程序设计中的“类”,而容器就是“实例”。至于仓库作用嘛,就是在用来存放镜像的。

下面整理一些docker的操作命令。

  • 获取镜像

docker pull [选项] [Docker Registry地址]<仓库名>:<标签>

  1. Docker Registry地址:地址的格式一般是   <域名/IP>[:端口号]  。默认地址是Docker Hub。
  2. 仓库名:如之前所说,这里的仓库名是两段式名称,既 <用户名>/<软件名>。对于Docker Hub,如果不给出用户名,则默认为library,也就是官方镜像。
  • 列出镜像

docker images

  • 虚悬镜像

这玩意就理解成已经失效的镜像好了,具体有那些可以用下面的命令查一下:

docker images -f dangling=true

既然失效了就可以随意删除,删除命令如下:

docker rmi $(docker images -q -f dangling=true)

  • 保存镜像

docker commit [选项] <容器ID或容器名> [<仓库名>[:<标签>]]

docker commit \

--author "Tao Wang <twang2218@gmail.com>" \

--message "修改了默认网页" \

webserver \

nginx:v2

其中--author是指定修改的作者,而--message则是记录本次修改的内容,webserver 是容器名。

这点和git版本控制相似,不过这里这些信息可以省略留空。

敲黑板:

docker commit命令除了学习之外,还有一些特殊的应用场合,比如被入侵后保存现场等。但是,不要使用docker commit定制镜像,定制行为应该使用Dockerfile来完成。

 

  • 创建容器

docker create -it --name truffle --privileged=true -v/root/host/volume:/home/docker/volume ubuntu:16.04  bash

红色部分可以改动,--name是指定容器名称,-v是数据卷操作,可以理解为将主机目录映射到容器中的某刻目录,--privileged=true 使得docker中的映射目录对物理机中的目录有可操作权限,ununtu:16.04就是启动基于的镜像。

  • 基于镜像启动容器

docker run --name truffle -v /root/host/volume:/home/docker/volume -it -d --security-opt seccomp=unconfined ubuntu:16.04 bash

红色部分可以改动,--name是指定容器名称,-v是数据卷操作,可以理解为将主机目录映射到容器中的某刻目录,ununtu:16.04就是启动基于的镜像。

  • 启动已终止容器

docker start  [容器名称]

  • 终止容器

docker stop  [容器名称]

  • 删除容器

可以使用docker rm来删除一个处于终止状态的容器。例如

$sudo docker rm trusting_newton

如果要删除一个运行中的容器,可以添加-f 参数。Docker会发送SIGKILL信号给容器。

  • 清理所有处于终止状态的容器

用docker ps -a 命令可以查看所有已经创建的包括终止状态的容器,如果数量

太多要一个个删除可能会很麻烦,用docker rm $(docker ps -a -q)可以全部清理掉。

敲黑板:

这个命令其实会试图删除所有的包括还在运行中的容器,不过就像上面提过

的docker rm默认并不会删除运行中的容器。

  • 列出全部镜像

docker images -a

  • 列出部分镜像

docker images [仓库] [-f 条件]

转载地址:http://nxixi.baihongyu.com/

你可能感兴趣的文章
浅谈HTML
查看>>
css基础
查看>>
Servlet进阶和JSP基础
查看>>
servlet中的cookie和session
查看>>
过滤器及JSP九大隐式对象
查看>>
【Python】学习笔记——-7.0、面向对象编程
查看>>
【Python】学习笔记——-7.2、访问限制
查看>>
【Python】学习笔记——-7.3、继承和多态
查看>>
【Python】学习笔记——-7.5、实例属性和类属性
查看>>
git中文安装教程
查看>>
虚拟机 CentOS7/RedHat7/OracleLinux7 配置静态IP地址 Ping 物理机和互联网
查看>>
Jackson Tree Model Example
查看>>
常用js收集
查看>>
如何防止sql注入
查看>>
springmvc传值
查看>>
在Eclipse中查看Android源码
查看>>
Android使用webservice客户端实例
查看>>
[转]C语言printf
查看>>
C 语言 学习---回调、时间定时更新程序
查看>>
第十一章 - 直接内存
查看>>