码迷,mamicode.com
首页 > 其他好文 > 详细

容器管理

时间:2018-09-10 13:37:56      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:内存不足   created   另一个   ddr   fonts   oom   资源   分配   net   

  创建容器的常用选项

  管理容器的常用命令

1、创建容器的常用选项

 

指令 描述 资源限制指令 描述
-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(容器中hosts文件中添加ip和主机的解析)



先创建容器

 

[root@node02 ~]# docker container run -itd --name bs busybox
1ab0200029d705fabaa658ec98c434ea697542ad48bd7cee25d84e0c07375b8e

run 创建容器(Run a command in a new container)
bs  容器名
busybox 镜像名
1ab0200029d705fabaa658ec98c434ea697542ad48bd7cee25d84e0c07375b8e  容器id

  

[root@node02 ~]# docker container attach bs   #进入一个容器名为bs的容器
/ # ifconfig 
eth0      Link encap:Ethernet  HWaddr 02:42:AC:1E:27:02  
          inet addr:172.30.39.2  Bcast:172.30.39.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1450  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:648 (648.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

容器内执行exit 之前:

[root@node02 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1ab0200029d7 busybox "sh" 17 minutes ago Up 6 minutes bs

执行exit之后,我们会发现我们运行的进程没了:
[root@node02 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

这样之后我们可以操作启动镜像

[root@node02 ~]# docker container start bs
bs

  

[root@node02 ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
1ab0200029d7        busybox             "sh"                7 minutes ago       Up 6 minutes                            bs
查看运行容器有哪些

 

 

/ # mount  
/dev/mapper/centos-root on /etc/resolv.conf type xfs (rw,relatime,attr2,inode64,noquota)
/dev/mapper/centos-root on /etc/hostname type xfs (rw,relatime,attr2,inode64,noquota)
/dev/mapper/centos-root on /etc/hosts type xfs (rw,relatime,attr2,inode64,noquota)
 容器内执行mount命令,会有很多文件挂载,我们先看这三个,都会默认从宿主机挂载这三个文件,在容器重启,创建操作(都会重新挂载),我们在容器内修改这三个文件,重启之后都不会生效的(会丢失)。

这里我么也可以通过下面的方式进入容器,这样的话,我们执行exit 的时候他不会让容器停止
[root@node02 ~]# docker exec  -it bs sh
/ # exit

  

[root@node02 ~]# docker container run -itd -p 8082:80 -h docker-nginx --name nginx8 --restart=always nginx:v1.7.9 
603494fada81eca4e6aa5805eca6c3c8846b58fca2f4e836b93f8f24ec05cc19

比如这个就是我们创建一个交互式的容器,镜像使用nginx:v1.7.9,容器名为nginx8,创建后的容器主机名是docker-nginx,做一个端口映射,宿主机的8082映射容器的80端口,同时我们加上--restart=always,容器退出时的重启策略是always
--restart 标志会检查容器的退出代码,并据此来决定是否要重启容器,默认是不会重启。
--restart的参数说明:
always:无论容器的退出代码是什么,Docker都会自动重启该容器。
on-failure:只有当容器的退出代码为非0值的时候才会自动重启。另外,
该参数还接受一个可选的重启次数参数,`--restart=on-fialure:5`表示当容器退出代码为非0时,Docker会尝试自动重启该容器,最多5次。

  

 创建容器的时候我们应该根据我们的业务场景来进行资源的限制

 

容器管理

标签:内存不足   created   另一个   ddr   fonts   oom   资源   分配   net   

原文地址:https://www.cnblogs.com/smail-bao/p/9618353.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!