Docker使用 - 容器
查看容器
命令:docker ps [options]
options有:
-a:查看所有容器,包含不在运行中的(不带-a参数,是只显示运行中的容器)
-q:只显示容器ID
-s:多加一列来显示总文件大小
-l:显示最近创建的容器(docker ps -l)
-n:显示最近创建的n个容器(docker ps -n 3, 显示最近创建的3个容器)
--filter:根据条件过滤(不常用,容器数量没大到那种程度需要用过滤器才能找到。)
启动容器
方式一:从一个镜像中创建一个容器的同时并启动
docker run [options] 镜像名或镜像ID [command] [agrs]
options常有:
- -d:让docker在后台运行而不是直接把执行命令的结果输出在当前宿主机器下。
- -t:让docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上(配合-i使用)
- -i:让容器的标准输入保持打开(配合-t使用)
- --name:为容器命名
- --restart:是否跟随宿主机开机启动(默认为“no”,可以有“always”)
- --privilleged:是否让容器拥有root权限(可接 false 或者 true)
- -v:创建数据卷( -v 本机目录1:容器目录1 -v 本机容器2:容器目录2)
- -p:绑定端口,将本机端口映射到容器端口,-p 本机端口:容器端口,因为容器内监听的端口,本机并不知道,所以从外界来访问本机的那个端口是访问不到的,所以要做映射
数据卷
数据卷是一种技术,而不是某一个东西。
简单理解就是,将本机的某一个目录映射到某一个或者多个容器的某目录。这样在本机修改代码,就可以直接用容器跑代码
什么是数据卷
数据卷 是一个可供一个或者多个容器使用的特殊目录,它绕过UFS,可以提供很多有用的特性:
- 数据卷 可以在容器直接共享和重用
- 对 数据卷 的修改会立马生效
- 对 数据卷 的更新,不会影响镜像
- 数据卷 会默认一直存在,即使容器被删除
注意:数据卷 的使用,类似linux下对目录或者文件进行mount,镜像中的被指定为挂载点的目录中的文件会隐藏掉,能显示看的是挂着的 数据卷。
数据卷的用法
在用镜像来创建一个容器的同时,指定“-v”参数来指定目录映射
准备:授权本地磁盘
命令:docker run -v 本地目录:容器目录 镜像名称或镜像ID
如果要同时挂载多个目录,可以执行多个 -v 即可,如:
docker run -v 本地目录1:容器目录1 -v 本地目录2:容器目录2 镜像名称或镜像ID

方式二:启动一个已经存在的容器
命令:docker start 容器ID或容器名
更新容器
一个容器已经通过镜像创建成功了,但是当初创建的时候,由于考虑不周,忘了一些参数(比如开机启动),这时候可以通过 update 命令来更新容器。
命令:docker update [options] 容器名或容器ID
options有:
--blkio-weight(uint16): Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0)
--cpu-period(int): Limit CPU CFS (Completely Fair Scheduler) period
--cpu-quota(int): Limit CPU CFS (Completely Fair Scheduler) quota
--cpu-rt-period(int): Limit the CPU real-time period in microseconds
--cpu-rt-runtime(int): Limit the CPU real-time runtime in microseconds
--cpu-shares(int): CPU shares (relative weight)
--cpus(decimal): Number of CPUs
--cpuset-cpus(string): CPUs in which to allow execution (0-3, 0,1)
--cpuset-mems(string): MEMs in which to allow execution (0-3, 0,1)
--kernel-memory(bytes): Kernel memory limit
--memory bytes Memory limit
--memory-reservation(bytes): Memory soft limit
--memory-swap(bytes): Swap limit equal to memory plus swap: '-1' to enable unlimited swap
--restart(string): Restart policy to apply when a container exits
停止容器
命令:docker stop [options] 容器名或者容器ID
options有:
-t:杀死容器进程前,给予容器用来停止的时间(默认是10秒)
重启容器
命令:docker restart [options] 容器名或容器ID
options有:
-t:杀死容器进程前,给予容器用来停止的时间(默认是10秒)
即使容器是关闭状态,也可以重启,这点不像supervisor,supervisor的进程是关闭状态的话,则无法restart,只能start
删除容器
命令:docker rm [options] 容器名或容器ID
options有:
-f:强制删除容器(默认情况下,只有是停止状态的容器才可以删除,但是带上-f后,可以直接删除在运行中的容器)
-l:移除容器间的网络链接,而非容器本身(不懂,好像也用的少)
-v:删除与容器关联的卷(这个还是可以有的)
批量删除容器
命令:docker rm -f $(docker ps -a -q)
不是什么新的知识点
在容器外执行容器里的命令
命令:docker exec [options] 容器名或容器ID [command]
一般是:docker exec -it 容器名或容器ID /bin/bash ,用于进入容器,是否真的能在外面做到其他的操作,暂未可知,我是验证了:docker exec 容器名 echo "hello world">test.txt ,未成功
查看容器日志信息
命令:docker logs 容器名或容器ID
主机和容器之间的内容拷贝(不建议,容器只做运算,最好不要往里面拷文件,可以做成数据卷映射)
主机拷贝到容器
命令:docker cp 主机文件 容器ID或容器名:容器目录
有点类似本机与远程服务器之间的内容拷贝:scp 本机文件 远程服务器:目录
容器拷贝到主机
命令:docker cp 容器ID或容器名:目录/文件 本机目录
Docker使用 - 容器的更多相关文章
- Docker的容器
容器是一个打包了应用和服务的环境,是一个轻量级的虚拟机,每一个容器都由一组特定的应用和必要的依赖库组成. 容器的管理操作 容器常见的命令:查看.创建.启动.终止和删除 创建容器 docker crea ...
- 【转】深入 Docker:容器和镜像
在本专栏往期的 Flux7 系列教程 里,我们已经简单地探讨了 Docker 的基本操作.而在那篇教程中,我们一直是简单地将容器当成是"正在运行的镜像",并没有深入地区分镜像和容器 ...
- 理解Docker单机容器网络
在” 理解Docker单机容器网络 “一文中,还有一个Docker容器网络的功能尚未提及,那就是Docker容器的端口映射.即将容器的服务端口P’ 绑定到宿主机的端口P上,最终达到一种效果:外部程序通 ...
- docker进入容器的方式
通过docker创建守护运行(在使用-d参数时)的容器时,容器启动后会进入后台.用户无法看到容器中的信息.某些时候如果需要进入容器进行操作,有多种方法,包括使用docker attach命令.dock ...
- Docker与容器快速入门
Docker之风席卷全球,但很多人觉得docker入门确实不太容易,其原因在于很多知识点上没准备好,在docker解决了什么问题.怎么解决的.用什么技术解决的都还没想清楚的时候就去探索docker组件 ...
- Docker系列之(三):Docker微容器Alpine Linux
1. 前言 使用Docker创建容器时,基础镜像通常选择Ubuntu或Centos,不管哪个镜像的大小都在100MB以上. Alpine Linux是一个面向安全的轻型的Linux发行版. Alpin ...
- docker commit容器
docker commit 容器ID 镜象REPOSITORY 镜象TAG 如docker commit 52b41c68ac7b registry.lenovows.com:5000/video-a ...
- FW Docker为容器分配指定物理网段的静态IP
官方有关于网桥和IP配置的文档地址:https://docs.docker.com/articles/networking/ 1.宿主机(系统采用ubuntu-14.04.1-server-amd64 ...
- Docker,容器,虚拟机和红烧肉
Docker火了,有多火你自己看看下面的统计数据就知道了 在发布4个月的时间里,下载量就超过50000次,github上收到超过4000个star,涌现了超过100个贡献者,并且有超过150个项目和超 ...
- Docker: 限制容器可用的 CPU
默认情况下容器可以使用的主机 CPU 资源是不受限制的.和内存资源的使用一样,如果不对容器可以使用的 CPU 资源进行限制,一旦发生容器内程序异常使用 CPU 的情况,很可能把整个主机的 CPU 资源 ...
随机推荐
- HDU5421 Victor and String 和 APIO2014 回文串
两道差不多的题,都是回文自动机right集合处理相关. Victor and String Victor loves to play with string. He thinks a string i ...
- 推荐系统(recommender systems):预测电影评分--构造推荐系统的一种方法:低秩矩阵分解(low rank matrix factorization)
如上图中的predicted ratings矩阵可以分解成X与ΘT的乘积,这个叫做低秩矩阵分解. 我们先学习出product的特征参数向量,在实际应用中这些学习出来的参数向量可能比较难以理解,也很难可 ...
- Spring中AOP方式实现多数据源切换
作者:suroot spring动态配置多数据源,即在大型应用中对数据进行切分,并且采用多个数据库实例进行管理,这样可以有效提高系统的水平伸缩性.而这样的方案就会不同于常见的单一数据实例的方案,这就要 ...
- 牛股资讯-PT
智能盯盘:实时监控股票涨跌极速行情:实时推送全球行情海量资讯:实时发布海量信息 股票平台,炒股软件,东方财富网,同花顺,大智慧,益盟操盘手,a股,沪深股市,创业板,交易策略,选股,大盘,牛股,牛市,财 ...
- 7-zip命令行详解
一.简介 7z,全称7-Zip, 是一款开源软件.是目前公认的压缩比例最大的压缩解压软件. 主要特征: # 全新的LZMA算法加大了7z格式的压缩比 # 支持格式: * 压缩 / 解压缩:7z, XZ ...
- WinDbg常用命令系列---!runaway
简介 !runaway扩展显示有关每个线程使用的时间的信息. 使用形式 !runaway [Flags] 参数 Flags指定要显示的信息类型. 标志可以是以下位的任意组合. 默认值为 0x1.位 0 ...
- Anaconda与Python安装版本对应关系 --- 转载
转载自:https://blog.csdn.net/yuejisuo1948/article/details/81043823 首先解释一下上表. anaconda在每次发布新版本的时候都会给pyth ...
- Vuejs发送Ajax请求
一.概况 ①vuejs中没有内置任何ajax请求方法 ②在vue1.0版本,使用的插件 vue resource 来发送请求,支持promise ③在vue2.0版本,使用社区的一个第三方库 axio ...
- nginx 访问控制之 document_uri
这就用到了变量$document_uri,根据前面所学内容,该变量等价于$uri,其实也等价于location匹配. 示例1: if ($document_uri ~ "/admin/&qu ...
- 记录一次利用 python 进行日志模块开发过程
只记录大体思路和我认为其中需要记录的地方. 正则匹配 正则匹配的模式很难记忆,即使记住了,也很难写出无错误的匹配模式.但是,借助网上一些提供实时对比的网站,如 regexr.com. 代码示意: im ...