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
扫描二维码,分享此文章