docker compose 部署交互模式的容器-以Ubuntu为例

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 中添加两条语句:

yaml 复制代码
stdin_open: true                 # 代表 docker run -i
tty: true                        # 代表 docker run -t

则最终的文件为:

yaml 复制代码
# Creat self modified latex container
version: '3'
services:
  ubuntu:
    image: ubuntu:20.04              # 镜像名
    stdin_open: true                 # 代表 docker run -i
    tty: true                        # 代表 docker run -t
    container_name: your_containername    #容器名
    restart: unless-stopped         #重启策略
    volumes:                        #挂载路径
      - your_path:container_path
    environment:                    #环境变量
      - TZ=Asia/Shanghai            #时区
    logging:                        #日志设置
      driver: json-file
      options:
        max-size: "200k"
        max-file: "5"

再通过 docker ps 查看容器进程就能看到 Ubuntu 环境成功持续运行了。

相关推荐
SCBAiotAigc14 分钟前
Chrome的cookie编辑插件EditThisCookie
人工智能·chrome·python·ubuntu
我还为发觉21 分钟前
Docker在系统运维中的应用与实现原理
运维·docker·容器
QQ__176461982432 分钟前
Windows 免密 SSH 登录 Ubuntu配置全流程(可复用到 VS Code)
运维·ubuntu·ssh
特立独行的猫a1 小时前
使用Docker/Docker Compose方式安装部署PostgreSQL指南
docker·postgresql·容器
@noNo1 小时前
VMware Workstation 虚拟机 Ubuntu 24.04 主机与虚拟机之间无法复制粘贴
linux·运维·ubuntu
幺零九零零1 小时前
Redis容器了解Docker底层
数据库·redis·docker
无心水1 小时前
【Stable Diffusion 3.5 FP8】8、生产级保障:Stable Diffusion 3.5 FP8 伦理安全与问题排查
人工智能·python·安全·docker·stable diffusion·ai镜像开发·镜像实战开发
知识分享小能手2 小时前
Ubuntu入门学习教程,从入门到精通, Ubuntu 22.04 的软件包管理 —— 全面详解(9)
linux·学习·ubuntu
深盾科技2 小时前
Docker 常用命令速查表
运维·docker·容器
赵思空2 小时前
window docker 安装 mysql 数据库,及不能连接问题
数据库·mysql·docker