两台电脑一台做服务器 网站html5绿色的房地产手机网站模板源码
docker compose 部署交互模式的容器-以Ubuntu为例
- 问题介绍
 - 解决方式
 
同步发布在个人笔记docker compose 部署交互模式的容器-以Ubuntu为例
问题介绍
想通过 docker compose 方式部署一个交互模式的 Ubuntu 容器,但是以平常的方式执行部署后,发现容器被创建后就自动关闭了。而如果以 docker run 的方式部署的话就可以持续运行,命令:
 docker run --name your_containername -dit -v your_path:container_path ubuntu:20.04 /bin/bash
 分析发现关键在于命令中的参数 -it 其中
- -i:interactive 交互式操作;
 - -t:terminal 终端。
 
如果不在 compose 文件中体现这两个参数的话,容器是不会持续运行的,而是创建成功后就自动关闭了。
解决方式
在 docker-compose.yml 中添加两条语句:
stdin_open: true                 # 代表 docker run -i
tty: true                        # 代表 docker run -t
 
则最终的文件为:
# Creat self modified latex container
version: '3'
services:ubuntu:image: ubuntu:20.04              # 镜像名stdin_open: true                 # 代表 docker run -itty: true                        # 代表 docker run -tcontainer_name: your_containername    #容器名restart: unless-stopped         #重启策略volumes:                        #挂载路径- your_path:container_pathenvironment:                    #环境变量- TZ=Asia/Shanghai            #时区logging:                        #日志设置driver: json-fileoptions:max-size: "200k"max-file: "5"
 
再通过 docker ps 查看容器进程就能看到 Ubuntu 环境成功持续运行了。
