单一容器管理

容器的标识符

每个容器被创建后都会分配一个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 容器管理的更多相关文章

  1. docker 容器管理常用命令

    Docker 容器管理: docker create -it centos //这样可以创建一个容器,但该容器并没有启动: create Create a new container 创建一个容器: ...

  2. docker 容器管理上

    Docker 容器管理: docker create -it centos //这样可以创建一个容器,但该容器并没有启动: docker start container_id //启动容器后,可以使用 ...

  3. Docker-compose 多个Docker容器管理:以MYSQL和Wordpress为例

    搬砖的陈大师版权所有,转载请注明:http://www.lenggirl.com/tool/docker-compose.html Docker-compose 多个Docker容器管理:以MYSQL ...

  4. Docker系列三:Docker容器管理

    Docker容器管理 1. 单一容器管理 1) 容器的启动 $ docker run --name gitlab-redis -d --volume /srv/docker/gitlab/redis: ...

  5. docker容器管理及网络管理

    防火墙规则—— INPUT 主要用于主机防火墙,设置规则屏蔽处理进入本机的数据包示例:禁止10.180.100.141这个机器访问我本机的web服务iptables -t filter -A INPU ...

  6. docker容器管理-含静态Ip(10)

    docker run命令详解 docker run -t #表示分配一个伪终端 -i #表示让容器的标准输入打开,不跟这个参数容器启不来 -d #后台运行 -P #dockerfile中EXPOSE ...

  7. Docker学习第二天(Docker容器管理)

    简介 emmmm Docker 容器管理 推荐文章:容器技术概述 run里面的子选项 1.使用run命令创建容器 docker container run -it ubuntu /bin/bash / ...

  8. 四、docker容器管理

    一.docker容器管理 1.1 容器查看-ps命令 显示本地容器列表,但是默认不显示关闭的容器,只显示运行中的容器,除非加上命令选项 -a 用法:docker ps [-a 显示所有容器,默认只显示 ...

  9. [CoreOS 转载] CoreOS实践指南(七):Docker容器管理服务

    转载:http://www.csdn.net/article/2015-02-11/2823925 摘要:当Docker还名不见经传的时候,CoreOS创始人Alex就预见了这个项目的价值,并将其做为 ...

随机推荐

  1. IDEA中Git分支未push的变更集如何合并到另一个分支

    使用rebase命令 刚开始,A分支和B分支的代码是一样的,把A分支checkout 为当前分支,并且修改了代码,进行[commit]和[push],commit成功了,但是push没有权限. 这个时 ...

  2. C/C++ 程序库

    C/C++ 程序库 // --------------------------------------------- 来几个不常见但是很变态的库吧: bundle: 把几乎所有常见的压缩库封装成了一个 ...

  3. 安卓Q | 诸多本地文件找不到?应用文件存储空间沙箱化适配指导

    上期我们针对Android Q 版本中对设备存储空间进行的限制.新特性变更引发的兼容性问题及原因分析推出了<安卓 Q | 8大场景全面解析应用存储沙箱化>文章,本期文章我们将手把手指导各位 ...

  4. Android 2019最新面试实战总结

    Android: 今日头条屏幕适配的原理? 1:首先计算出 density,计算公式:当前设备屏幕总宽度(单位为像素)/ 设计图总宽度(单位为 dp) = densitydensity 的意思就是 1 ...

  5. TypeError: __init__() got an unexpected keyword argument 't_command'

    python  .\manage.py migrate 报错如下 λ python .\manage.py migrateTraceback (most recent call last): File ...

  6. js日期格式转换的相关问题探讨

    探讨问题1: 如何将 2017年8月22日 转换成 2017-8-22 / 2017-08-22呢 '2017年8月22日'.replace(/[年月日]/g,'-'); '2017年8月22日'.m ...

  7. 通过pycharm将代码push到远程仓库

    现在使用pycharm作为python编辑器的人还是不少,而且,也可以通过pycharm将代码push到远程仓库. 步骤见下面截图: 填上远程仓库地址及克隆到本地的目录 输入远程仓库的账号和密码 修改 ...

  8. poj 3252 Round Numbers(数位dp 处理前导零)

    Description The cows, as you know, have no fingers or thumbs and thus are unable to play Scissors, P ...

  9. 第一篇-ubuntu18.04访问共享文件夹

    1. 在访问Windows共享资料之前,请确保Windows共享是可用的.Linux访问Windows共享或者LInux共享资料给Windows时,都使用Samba软件 rpm -qa | grep ...

  10. java中一维数组的定义和遍历

    public class ArrayDemo1{ public static void main(String[] args){ //1 定义数组 并同时赋值 int[] arr = new int[ ...