容器管理

一.创建容器常用选项

  docker container --help

指令

描述

资源限制指令

 -i, --interactive

交互式

-m,--memory

容器可以使用的最大内存量

-t, --tty

分配一个伪终端

--memory-swap

允许交换到磁盘的内存量

-d, --detach

运行容器到后台

--memory-swappiness=<0-100>

容器使用SWAP分区交换的百分比(0-100,默认为-1)

-a, --attach list

附加到运行的容器

--memory-reservation

内存软限制,Docker检测主机容器争用或内存不足时所激活的软 限制,使用此选项,值必须设置低于—memory,以使其优先

--dns list

设置DNS服务器

--oom-kill-disable

当宿主机内存不足时,内核会杀死容器中的进程。建议设置了- memory选项再禁用OOM。如果没有设置,主机可能会耗尽内存

 -e, --env list

设置环境变量

--cpus

限制容器可以使用多少可用的CPU资源

 --env-file list

从文件读取环境变量

--cpuset-cpus

限制容器可以使用特定的CPU

 -p, --publish list

发布容器端口到主机

--cpu-shares

此值设置为大于或小于默认1024值,以增加或减少容器的权重, 并使其可以访问主机CPU周期的更大或更小比例

 -P, --publish-all

发布容器所有EXPOSE的端口到宿主机随机端口

   
-h, --hostname string

设置容器主机名

   

--ip string

指定容器IP,只能用于自定义网络

   

--link list

添加连接到另一个容器

   

 --network

连接容器到一个网络

   
--mount mount

挂载宿主机分区到容器

   
-v, --volume list

挂载宿主机目录到容器

   
--restart string

容器退出时重启策略,默认no [always|on-failure]

   
--add-host list

添加其他主机到容器中/etc/hosts

   

  #创建一个容器名字为bs分配一个伪终端后台运行

   docker container run  -itd  --name bs busybox

  #容器id
  3d79c1434aa920264b151dcac336b73ae335f644768ab921b684b6631513d854

#查看目前运行容器

  

   #进入容器

   docker container attach bs

   docker exec -it bs sh

创建一个容器时候默认会从宿主机创建3个文件(切记在容器内修改这3个文件重启后失效)

   # mount  | grep etc
  /dev/mapper/centos-root on /etc/resolv.conf type xfs (rw,relatime,attr2,inode64,noquota)         -- dns解析配置文件
  /dev/mapper/centos-root on /etc/hostname type xfs (rw,relatime,attr2,inode64,noquota)           --hostname文件  
  /dev/mapper/centos-root on /etc/hosts type xfs (rw,relatime,attr2,inode64,noquota)                 --主机与ip对应配置文件

  ###创建容器bs1,并且传入参数123  -e 传参

  # docker container run  -itd -e a=123  --name bs1 busybox
  248cce9ee462b7db3dd0fdf8eb19c2975a1ba42491d3393bf2bca400a8607472

  docker exec -it bs1 sh

  # echo $a
  123

  ###发布容器端口到宿主机

  # docker container run  -itd -p 8080:80  --name nginx01 nginx

  # curl 127.0.0.1:8080

  ###查看容器日志  # docker logs nginx01
  172.17.40.1 - - [07/Mar/2019:02:14:20 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.29.0" "-"
  172.17.40.1 - - [07/Mar/2019:02:15:09 +0000] "GET / HTTP/1.1" 200 612 "-" "Wget/1.14 (linux-gnu)" "-"

  ###容器日志在宿主机存储位置(避免磁盘空间打满切记要清理)

  # cat /var/lib/docker/containers/23456d3585ce6084f2790a36f89350a7aeca75df381abe759c5ef8b4b5f6ba00/23456d3585ce6084f2790a36f89350a7aeca75df381abe759c5ef8b4b5f6ba00-json.log
  {"log":"ping: bad address 'baidu.com'\n","stream":"stderr","time":"2019-03-06T06:44:48.370833934Z"}

   ###容器内的程序挂掉始终重启

  # docker container run  -itd -p 8081:80  --name nginx03 --restart=always  nginx

  

  ###容器资源限制

  可以使用单核cpu 内存512m memory-swap=512 *2 (默认机制)

  #  docker container run  -itd --cpus 1 --memory 512m --name nginx04  nginx

  查看资源利用率

  # docker container stats nginx04

  CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT   MEM %               NET I/O             BLOCK I/O           PIDS
  7d9bc3409e92         nginx04              0.00%                 2.516MiB / 512MiB       0.49%                 656B / 0B           6.9MB / 0B           2

二.创建容器常用命令

  

    

Docker进阶之五:容器管理的更多相关文章

  1. Docker背后的容器管理——Libcontainer深度解析

    Libcontainer 是Docker中用于容器管理的包,它基于Go语言实现,通过管理namespaces.cgroups.capabilities以及文件系统来进行容器控制.你可以使用Libcon ...

  2. Docker进阶之四:镜像管理

      一.什么是镜像? 简单说,Docker镜像是一个不包含Linux内核而又精简的Linux操作系统. 二.镜像从哪里来? Docker Hub是由Docker公司负责维护的公共注册中心,包含大量的容 ...

  3. Docker镜像和容器管理(二)

    Docker安装 Docker镜像管理 https://hub.docker.com/ 是公共的一个Docker镜像仓库,类似GitHub一样,上面有非常多的开源项目镜像. 可以直接在命令行搜索镜像 ...

  4. Docker 镜像与容器管理

    镜像与容器简介 Docker的大部分操作都围绕着它的三大核心概念:镜像.容器.仓库而展开.因此,准确把握这三大核心概念对于掌握Docker技术尤为重要,在docker中,我们重点关注的就是镜像和容器了 ...

  5. Docker 与 Podman 容器管理的比较

    翻译自 Paul Ferrill 2020年9月1日的文章<Compare Docker vs. Podman for container management> [1] Docker 和 ...

  6. Docker进阶:容器卷、DockerFile、Docker网络原理

    1.Docker镜像 1.1镜像是什么 镜像是一种轻量级.可执行的独立软件包,用来打包软件运行环境和机遇运行环境开发的软件. 包含一个软件的所有内容.蒋所有的应用和环境,直接打包为docker镜像,直 ...

  7. rancher1.X+docker+k8s搭建容器管理集群

    一, 环境准备 服务器 Linux k8s-m -.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Li ...

  8. Docker学习笔记四:Docker镜像、容器管理工具shipyard

    一.拉取以下几种镜像: docker pull alpineshipyard/shipyarddocker pull swarm docker pull shipyard/shipyarddocker ...

  9. 难部署的taiga,式微的circus——趋势从进程管理到容器管理,简单才是美

    一直需要一个项目管理系统,一直没时间弄. taiga是github上搜project management star最多的项目,又是基于django用python写的后端,所以就用它: 但是,集中精力 ...

随机推荐

  1. linux学习笔记基础篇(一)

    一.IP操作 1.临时修改IP ,执行命令  ifconfig  网卡名称  新ip :例如 ifconfg  nescc 192.168.1.110 ,重启失效 2.重启网络 ,执行命令 syste ...

  2. python使用sqlmap API检测SQL注入

    0x00前言: 大家都知道sqlmap是非常强大的sql注入工具,最近发现他有个sqlmap API,上网查了一下.发现这是 sqlmap的微端.(可以叫做sqlmap在线检测sql注入= =) 0x ...

  3. es2.4.6 java api 工具类

    网上找了很久没找到2.4.X 想要的java api 工具 自己写了一个,分享一下 导入所需的jar <!-- ElasticSearch begin --> <dependency ...

  4. Android Gradle基于参数化配置实现差异化构建

    一.背景: 项目中有一些特殊的需求,如个别渠道集成腾讯bugly,个别渠道集成易观统计,不同的渠道集成不同的推送策略(如Oppo渠道优先Opush推送),不同的渠道拥有不同的第三方登录集成等等.这些需 ...

  5. 女皇武则天:我不愿被 extends

    01. 利用继承,我们可以基于已存在的类构造一个新类.继承的好处在于,子类可以复用父类的非 private 的方法和非 private 成员变量. is-a 是继承的一个明显特征,就是说子类的对象引用 ...

  6. ES 18 - (底层原理) Elasticsearch写入索引数据的过程 以及优化写入过程

    目录 1 Lucene操作document的流程 1.1 添加document的流程 1.2 删除document的流程 2 优化写入流程 - 实现近实时搜索 2.1 流程的改进思路 2.2 设置re ...

  7. javascript-发布订阅模式与观察者模式

    设计模式"(Design Pattern)是针对编程中经常出现的.具有共性的问题,所提出的解决方法.著名的<设计模式>一书一共提出了23种模式. 发布订阅模式 它定义了一种对象间 ...

  8. css中margin为负数的深入研究

    注:以下实验的元素均为块级元素,inline-block和inline本身对margin某些方向上都是无效的,所以这里不予讨论. margin-left或者margin-right为负数 当块元素wi ...

  9. pytest-allure-poco之allure全量详细用法

    allure简介 Allure Framework是一个灵活的轻量级多语言测试报告工具.貌似是目前最漂亮的一个报告工具 python版本及必要库或工具 python 3.7 pytest 4.3.1 ...

  10. 基于 HTTP 请求拦截,快速解决跨域和代理 Mock

    近几年,随着 Web 开发逐渐成熟,前后端分离的架构设计越来越被众多开发者认可,使得前端和后端可以专注各自的职能,降低沟通成本,提高开发效率. 在前后端分离的开发模式下,前端和后端工程师得以并行工作. ...