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 环境成功持续运行了。

相关推荐
l1t3 小时前
用docker安装测试crate数据库
数据库·docker·容器·cratedb
枕书4 小时前
实战记录:如何使用 Docker 一键部署长亭 PandaWiki 智能知识库
运维·docker·容器
Cyber4K6 小时前
【妙招系列】Harbor 镜像私有仓库搭建手册
linux·云原生·容器
IT19958 小时前
Docker笔记-对docker-compose.yml基本认识
笔记·docker·容器
HelloTonyGo8 小时前
个人游戏笔记本免费“养龙虾”(Win10+WSL2+OpenClaw 部署与配置指南)
windows·ubuntu·wsl2·openclaw
supersolon10 小时前
WSL2(Linux)升级docker
linux·运维·docker·wsl·升级
一殊酒10 小时前
【Docker】常用命令大全及解析
docker·容器·eureka
小飞菜涅11 小时前
fast-lio2复现
嵌入式硬件·学习·ubuntu
Uncertainty!!11 小时前
将docker镜像上传到github镜像存储仓库(GitHub 容器仓库(GHCR)使用流程)
docker·容器·github
我是谁??11 小时前
Rocky9+ Docker + 容器内Linux桌面环境 + Web远程
运维·docker·容器