Docker 容器管理
单一容器管理
容器的标识符
每个容器被创建后都会分配一个CONTAINER_ID作为容器的唯一标识符,后续的启动、停止等操作都通过CONTAINER_ID来完成的。
CONTAINER_ID很难记忆,在创建容器时,可以用--name参数给容器起一个名字。用名字代替CONTAINER_ID对容器进行操作。
docker ps #查询CONTAINER_ID的简略形式
docker stop container_id/container_name #停止容器
docker start container_id/container_name #启动容器
查询容器信息
docker inspect #查询容器的所有基本信息,包括运行状况、存储位置等
docker logs #查询日志
docker stats # 查询容器占用的系统资源
容器内部的命令
经常有登入Docker容器内部执行命令的需求,可以在容器中启动sshd服务来响应用户登录,但sshd方式存在进程开销和增加被攻击
的风险,同时违反Docker所倡导的“一个容器一个进程”的原则。
Docer提供了原生的方式登入容器 docker exec:
docker exec container_name 容器内执行的命令
可以加上“-it”参数,相当于以root身份登入容器内可以连续执行命令,执行完成后通过“exit”或者“ctrl +d”退出。
多容器管理
Docker倡导的理念是“一个容器一个进程”,假如一个服务由多个进程组成,就要创建多个容器组成一个系统,相互分工和配合来对外提供完整服务。
在通一台主机下,docker run命令提供“--link”选项创建容器之间的互连。但有一个前提条件,使用“--link containerA”创建容器B时,容器A必须已经穿件并且启动运行,
所以容器启动是按顺序的。
容器编排工具 Docker Compose
Docker提供一个容器编排工具——Docker Compose,它允许用户在一个模板(YAML格式)中定义一组相关的应用容器,这组容器会根据配置模板中的
“--link”等参数,对启动的优先级自动排序,简单执行一条“docker-compose up”,就可以把同一个服务中的多个容器一次创建和启动。
docker-compose.yml文件:
wordpress:
image:wordpress
links:
-db:mysql
ports:
- 8080:80
db:
image:mariandb
environment :
MYSQL_ROOT_PASSWORD:example
这个配置文件创建了两个容器wordpress 和 db 使用image指定镜像,links、ports、environment分别对应docker run中的“--links”(容器互联)、“-p”(端口映射)
和“-e”(环境变量设置)。然后通过docker-compose up 命令来创建和启动wordpress服务。
docker-compose up #启动和创建容器
docker-compose start #启动命令
docker-compose stop #停止命令
docker rm container_id #删除容器
默认的配置文件是docker-compost.yml, 可以通过“-f”选项指定配置文件。
docker-compose -f XXX.yml ps #查询所有容器状态
docker-compose -f XXX.yml stop #停止项目
docker-compost -f XXX.yml start #启动项目
docker-compost -f XXX.yml down #删除项目
Docker 容器管理的更多相关文章
- docker 容器管理常用命令
Docker 容器管理: docker create -it centos //这样可以创建一个容器,但该容器并没有启动: create Create a new container 创建一个容器: ...
- docker 容器管理上
Docker 容器管理: docker create -it centos //这样可以创建一个容器,但该容器并没有启动: docker start container_id //启动容器后,可以使用 ...
- Docker-compose 多个Docker容器管理:以MYSQL和Wordpress为例
搬砖的陈大师版权所有,转载请注明:http://www.lenggirl.com/tool/docker-compose.html Docker-compose 多个Docker容器管理:以MYSQL ...
- Docker系列三:Docker容器管理
Docker容器管理 1. 单一容器管理 1) 容器的启动 $ docker run --name gitlab-redis -d --volume /srv/docker/gitlab/redis: ...
- docker容器管理及网络管理
防火墙规则—— INPUT 主要用于主机防火墙,设置规则屏蔽处理进入本机的数据包示例:禁止10.180.100.141这个机器访问我本机的web服务iptables -t filter -A INPU ...
- docker容器管理-含静态Ip(10)
docker run命令详解 docker run -t #表示分配一个伪终端 -i #表示让容器的标准输入打开,不跟这个参数容器启不来 -d #后台运行 -P #dockerfile中EXPOSE ...
- Docker学习第二天(Docker容器管理)
简介 emmmm Docker 容器管理 推荐文章:容器技术概述 run里面的子选项 1.使用run命令创建容器 docker container run -it ubuntu /bin/bash / ...
- 四、docker容器管理
一.docker容器管理 1.1 容器查看-ps命令 显示本地容器列表,但是默认不显示关闭的容器,只显示运行中的容器,除非加上命令选项 -a 用法:docker ps [-a 显示所有容器,默认只显示 ...
- [CoreOS 转载] CoreOS实践指南(七):Docker容器管理服务
转载:http://www.csdn.net/article/2015-02-11/2823925 摘要:当Docker还名不见经传的时候,CoreOS创始人Alex就预见了这个项目的价值,并将其做为 ...
随机推荐
- IDEA中Git分支未push的变更集如何合并到另一个分支
使用rebase命令 刚开始,A分支和B分支的代码是一样的,把A分支checkout 为当前分支,并且修改了代码,进行[commit]和[push],commit成功了,但是push没有权限. 这个时 ...
- C/C++ 程序库
C/C++ 程序库 // --------------------------------------------- 来几个不常见但是很变态的库吧: bundle: 把几乎所有常见的压缩库封装成了一个 ...
- 安卓Q | 诸多本地文件找不到?应用文件存储空间沙箱化适配指导
上期我们针对Android Q 版本中对设备存储空间进行的限制.新特性变更引发的兼容性问题及原因分析推出了<安卓 Q | 8大场景全面解析应用存储沙箱化>文章,本期文章我们将手把手指导各位 ...
- Android 2019最新面试实战总结
Android: 今日头条屏幕适配的原理? 1:首先计算出 density,计算公式:当前设备屏幕总宽度(单位为像素)/ 设计图总宽度(单位为 dp) = densitydensity 的意思就是 1 ...
- TypeError: __init__() got an unexpected keyword argument 't_command'
python .\manage.py migrate 报错如下 λ python .\manage.py migrateTraceback (most recent call last): File ...
- js日期格式转换的相关问题探讨
探讨问题1: 如何将 2017年8月22日 转换成 2017-8-22 / 2017-08-22呢 '2017年8月22日'.replace(/[年月日]/g,'-'); '2017年8月22日'.m ...
- 通过pycharm将代码push到远程仓库
现在使用pycharm作为python编辑器的人还是不少,而且,也可以通过pycharm将代码push到远程仓库. 步骤见下面截图: 填上远程仓库地址及克隆到本地的目录 输入远程仓库的账号和密码 修改 ...
- poj 3252 Round Numbers(数位dp 处理前导零)
Description The cows, as you know, have no fingers or thumbs and thus are unable to play Scissors, P ...
- 第一篇-ubuntu18.04访问共享文件夹
1. 在访问Windows共享资料之前,请确保Windows共享是可用的.Linux访问Windows共享或者LInux共享资料给Windows时,都使用Samba软件 rpm -qa | grep ...
- java中一维数组的定义和遍历
public class ArrayDemo1{ public static void main(String[] args){ //1 定义数组 并同时赋值 int[] arr = new int[ ...