Docker进阶之五:容器管理

网友投稿 630 2022-11-17

docker进阶之五:容器管理

Docker进阶之五:容器管理

容器管理

一.创建容器常用选项

  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

二.创建容器常用命令

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【剑指offer】剑指 Offer 10- I. 斐波那契数列 (C++ 模拟 取余)
下一篇:【力扣·每日一题】507. 完美数 (C++ 模拟 数的因子)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~