app开发者平台在数字化时代的重要性与发展趋势解析
630
2022-11-17
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~