Siam博客

docker自用小手册

2022-11-17

Docker

纯环境 没有程序 启动后马上退出

1、docker容器运行必须有一个前台进程, 如果没有前台进程执行,容器认为空闲,就会自行退出

2、容器运行的命令如果不是那些一直挂起的命令( 运行top,tail、循环等),就是会自动退出

3、这个是 docker 的机制问题

解决方法:

docker run -dit 镜像id /bin/bash

Docker 限制 CPU、内存、磁盘

  • –cpu-shares :设置 cpu 使用权重
  • –cpu-period :限制 CPU CFS周期
  • –cpu-quota :限制 CPU CFS配额
  • –cpuset-cpus :指定使用的CPU id
  • –cpuset-mems :指定使用的内存 id
  • –cpuset-mems :指定使用的内存 id
  • -m :设置内存最大值
  • –memory-swap :设置Swap的最大值为内存+swap,"-1"表示不限swap

docker和docker-compose

Docker Compose 是一个用于定义和运行多个容器的 Docker 工具。你可以使用 YAML 文件来配置应用程序的服务,并通过一个命令来创建和启动所有服务。

简单来说,如果你想在服务器上开启多个容器,并且这几个容器会有调用关系,那么通过compose来编排的话会逻辑更清晰,方便进行隔离和复用

可以使用变量和模板来动态生成配置文件,增加了灵活性和可维护性。

可以实现:网络互通,服务依赖(谁先启动),但是只能管理单机的容器关系,不能跨主机编排

compose编排的容器默认会创建与同一个网络下,网络名 后缀为_default

容器加入网络

  • 假设开了一个PHP相关的容器组(php,mysql,nginx)
  • 再开了一个kafka容器组(kafka,zookeeper等)

此时俩组容器在不同的网络内,php没办法直接去连接kafka网络,那么需要手动管理网络组的关系

docker network connect [OPTIONS] NETWORK CONTAINER

本文链接:
版权声明: 本文由 Siam原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
Tags: Docker

扫描二维码,分享此文章