容器管理

一.创建容器常用选项

  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. 「WC 2018」州区划分

    题目大意: 给一个无向图$G(V,E)$满足$|V|<=21$,对于某一种将$G(V,E)$划分为k个的有序集合方案,若每一个子集$G_i(V_i,E_i)$,$E_i=\{(x,y)|x\in ...

  2. BZOJ_3477_[Usaco2014 Mar]Sabotage_二分答案

    BZOJ_3477_[Usaco2014 Mar]Sabotage_二分答案 题意: 约翰的牧场里有 N 台机器,第 i 台机器的工作能力为 Ai.保罗阴谋破坏一些机器,使得约翰的工作效率变低.保罗可 ...

  3. 在linux服务器之间复制文件和目录命令scp

    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...

  4. Nginx 配置 Https 免费证书访问

    配置HTTPS 现在做博客或者做网站没有 https 已经不行了,就记录一下我在腾讯云配置 https 的过程吧,非常简单,1个小时就可以了. 还涉及到 http 访问自动转发到 https 访问路径 ...

  5. javascript正则表达式学习(二)--位置匹配

    文章首发于sau交流学习社区 一.前言 正则表达式是匹配模式,要么是匹配字符,要么匹配位置. 其实在开发中很少用到匹配位置,本篇文章主要包含: 二.什么是位置 位置:相邻字符之间的位置. 三.如何匹配 ...

  6. Hyperledger Fabric、Corda和以太坊对比

     Hyperledger Fabric . Corda 和以太坊的对比 三种不同的框架 我们从 Hyperledger Fabric.R3 Corda和以太坊的白皮书中可以看到,三种框架在可能的应用领 ...

  7. 很详细的Django入门详解

    Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站!采用了MVC的框架模式,即模型M,视图V和控制器C,也可以称为MVT模式,模型M,视图V,模板T.在学 ...

  8. SpringBoot启动原理分析

    用了差不多两年的SpringBoot了,可以说对SpringBoot已经很熟了,但是仔细一想SpringBoot的启动流程,还是让自己有点懵逼,不得不说是自己工作和学习的失误,所以以此文对Spring ...

  9. Linux遗忘root密码的其中两种解决方法

    由于安全的需要,系统一般只有一个root用户,因此若遗忘root用户的登录密码,因此需要通过其他途径进行修改密码.1.通过单用户模式(1)重启系统,按任意键进入grub菜单.出现grub菜单时,按↑, ...

  10. PHP中反射的简单实用(动态代理)

    <?php class mysql{ function connect($db){ echo "连接mysql数据库${db[0]} \r\n"; } } class ora ...