首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

新的docker cli compose命令在关闭bash窗口时关闭容器

基础概念

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过一个 docker-compose.yml 文件来配置应用程序的服务,然后使用 docker-compose 命令来启动、停止和管理这些服务。

相关优势

  1. 简化多容器管理:通过一个文件定义多个服务,便于管理和部署。
  2. 环境一致性:确保开发、测试和生产环境的一致性。
  3. 易于扩展:可以轻松添加或删除服务,适应不同的应用需求。

类型

Docker Compose 支持多种类型的服务定义,包括 Web 服务、数据库服务、缓存服务等。

应用场景

适用于需要多个容器协同工作的应用程序,例如 Web 应用与数据库的组合。

问题分析

当你在 Bash 窗口中运行 Docker Compose 命令时,容器会在窗口关闭时自动停止。这是因为 Docker Compose 默认情况下会在前台运行,当终端会话结束时,容器也会随之停止。

解决方法

方法一:使用 docker-compose up -d

使用 -d 参数可以让 Docker Compose 在后台运行,这样即使关闭终端窗口,容器也不会停止。

代码语言:txt
复制
docker-compose up -d

方法二:使用 nohupscreen

你可以使用 nohupscreen 命令来保持终端会话,即使关闭窗口,容器也会继续运行。

代码语言:txt
复制
nohup docker-compose up &

或者

代码语言:txt
复制
screen -S docker-compose
docker-compose up

然后按 Ctrl+A 再按 D 键从 screen 会话中分离。

示例代码

假设你有一个 docker-compose.yml 文件:

代码语言:txt
复制
version: '3'
services:
  web:
    build: .
    ports:
      - "5000:5000"
  db:
    image: postgres
    environment:
      POSTGRES_PASSWORD: example

你可以使用以下命令在后台启动服务:

代码语言:txt
复制
docker-compose up -d

参考链接

通过以上方法,你可以确保 Docker 容器在关闭终端窗口后继续运行。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 如何在Ubuntu 14.04上安装和使用Docker Compose

    本文结束,您将安装DockerDocker Compose,并对Docker Compose工作原理有基本了解。...到目前为止,我们一直在运行docker-compose up并使用CTRL-C来关闭它。这允许调试消息显示终端窗口中。...一种简单方法是当你up你会话添加选项-d: docker-compose up -d docker-compose 现在将会被分叉到后台。...Docker容器,请在与用于启动Dockerdocker-compose.yml文件相同目录中发出以下命令docker-compose stop 注意: 如果您需要强制性地关闭东西,也可以使用...为它创建一个目录并更改为: mkdir ~/nginx && cd $_ 我们目录中创建一个docker-compose.yml文件: nano docker-compose.yml 并粘贴如下

    2.9K10

    如何在CentOS 7上安装和使用Docker Compose

    本文结束,您将安装DockerDocker Compose,并对Docker Compose工作原理有基本了解。...到目前为止,我们一直在运行docker-compose up并使用CTRL-C它来关闭它。这允许调试消息显示终端窗口中。但这并不理想,在生产中运行时,您会希望docker-compose更像是服务。...一种简单方法是会话-d添加选项up: docker-compose up -d docker-compose 现在将分叉到后台。...Docker容器,请在用于启动Dockerdocker-compose.yml文件相同目录中发出以下命令docker-compose stop 注意: 如果您需要更有力地关闭东西,也可以使用...为它创建一个目录并更改为: mkdir ~/nginx && cd $_ 我们目录中创建一个docker-compose.yml文件: nano docker-compose.yml 并粘贴如下

    12K01

    ubuntu下 搭建区块链 (Hyperledger Fabric) 可在腾讯云实验室测试

    restart docker 5、 Docker-Compose安装 5.1 Docker-compose是支持通过模板脚本批量创建Docker容器一个组件。...安装Docker-Compose之前,需要安装Python-pip,运行脚本: 执行命令:sudo apt-get install python-pip 5.2 然后是安装docker-compose...8 、启动Fabric网络并完成ChainCode测试 我们仍然停留在e2e_cli文件夹,这里提供了启动、关闭Fabric网络自动化脚本。...我们首先进入CLI,我们重新打开一个命令窗口,输入: 执行命令docker exec -it cli bash 8.2.1 运行以下命令可以查询a账户余额: 执行命令docker环境):peer.../network_setup.sh up 这个时候,关掉终端,重新开一个终端,网络是存在,正常 第二步 进行业务操作 开启docker网络,执行命令docker exec -it cli bash

    2.7K00

    docker必会知识(常用)

    交互式容器,exit后容器自动关闭,守护式容器会在后台执行 进入容器 docker exec -it c2 /bin/bash #进入容器 停止容器 docker stop 容器名称...对于开发人员:可以为开发团队提供一个完全一致开发环境 对于测试人员:可以直接拿开发所构建镜像或者通过Dockerfile文件构建一个镜像开始工作了 对于运维人员:部署,可以实现应用无缝移植...:WORKDIR /usr 定义容器启动执行命令:CMD /bin/bash 通过dockerfile构建镜像:docker bulid –f dockerfile文件路径 –t 镜像名称:版本 ....Docker Compose Docker Compose是一个编排多容器分布式部署工具,提供命令集中管理容器化应用完整开发周期,包括服务 构建,启动和停止。使用步骤: 1....~/docker-compose 目录下 使用docker-compose 启动容器 docker-compose up -d # -d表示已守护模式启动 6.

    2K30

    Docker 学习总结

    ,允许对容器标准输入(STDIN)进行交互 $ docker run -it ubuntu /bin/bash # 可以通过运行exit命令或者使用 CTRL+D 来退出容器 输出提示以后,hello...Docker以ubuntu镜像创建一个容器,然后容器里执行 bin/echo "Hello world",然后输出结果 参数 含义 -i...CMD命令后,docker container run 命令就不能附加命令(如 /bin/bash),否则会覆盖CMD命令 6.4 创建 image # -t 指定image镜像名称,后面还可以加冒号指定标签...端口映射为本机3333端口 # /bin/bash 容器启动后执行第一个命令,会覆盖文件中配置CMD # --rm 容器终止运行后自动删除容器文件 $ docker container run...通过创建容器通过 -v 或 --volumn 指定数据盘路径,bind mounts 可以存储宿主机系统任意位置。

    3K87

    【学习笔记】Docker学习笔记

    创建一个容器在后台运行,需要使用docker exec 进入容器。退出后,容器不会关闭。 -it创建容器一般称为交互式容器,-id 创建容器一般称为守护式容器 --name:为创建容器命名。...标签 可以使用Label代替Maintainer 最终都是docker image基本信息中可以查看 RUN 执行命令 执行一段命令 默认是/bin/sh 格式: RUN command 或者 RUN...或者 CMD [“command” , “param1”,”param2”] ENTRYPOINT 入口 一般制作一些执行就关闭容器中会使用 COPY 复制文件 build时候复制文件到image...workdir路径相对路径 USER 指定执行用户 指定build或者启动时候 用户 RUN CMD ENTRYPONT执行时候用户 HEALTHCHECK 健康检查 指定监测当前容器健康监测命令...#我们安装Compose之前,需要先安装Docker

    1.2K74

    Hyperledger fabric部署

    (这一步需要切换到root用户再切换回来才能生效,或者注销) sudo usermod -aG docker username Docker Compose 执行命令从github下载,并增加执行权限:...网络测试 这里启动fabric中e2e_cli示例来搭建一个简单网络 1.进入到e2e_cli目录后运行启动网络脚本: cd ~/go/src/github.com/hyperledger/fabric...工具,根据configtx.yaml配置文件生成创世区块(用于启动排序节点)和通道配置交易(用于创建通道); 根据docker-compose-cli.yaml配置文件启动容器,包括4Peer+Orderer...+CLI; CLI容器启动时会自动运行其中脚本scripts/script.sh,完成创建通道,将节点加入通道,安装和实例化链码,执行Chaincode进行相关查询和交易任务。...3.正常运行后关闭网络 ./network_setup.sh down

    2.3K51

    ubuntu16.04 配置Hyperledger Fabric1.4.4环境

    /byfn.sh -m up -c myfirstchannel 启动过程如下: [myfirstchannel启动过程] 3.cli客户端操作 进入 cli 容器docker exec -it...cli bash [进入cli容器后] 查询a余额 peer chaincode query -C myfirstchannel -n mycc -c '{"Args":["query","a"]}'...] 4.first-network 关闭 先退出容器 exit [退出容器] 关闭网络 ..../byfn.sh -m down 结果如下: [关闭网络] 执行 docker ps -a 可以看到 容器都已经被移除了: [查看容器] 5.注意事项 (这里内容我并没有用到,复制过来仅做笔记) 若上次启动网络后没有关闭...关闭所有 docker 容器命令(如果用得到的话): docker rm -f $(docker ps -aq) 至此,first-network范例运行成功,Hyperledger Fabric1.4.4

    2.8K50

    1.Docker学习之基础知识

    您可以使用Docker API或CLI创建、启动、停止、移动或删除容器。您可以将一个容器连接到一个或多个网络,将存储附加到它,甚至根据它的当前状态创建一个映像。...中容器,以此来简化了学习成本; Step 1.设置docker进行安装,加入到PATH之中 Step 2.安装成功,关闭窗口 Step 3.安装后利用powershell进行查看docker版本 >...> /bin/bash #docker exec 至1.3版本起可以容器中运行命令 docker ps -aq #显示本机上所有容器ID运行容器ID信息 docker restart...# [root@2b72a3410be5 /]# exit #对于创建后容器采用exit命令退出后该容器自动处于终止状态; #提示:正常退出不关闭容器请按Ctrl+P+Q进行退出容器 $sudo...当某个窗口命令阻塞,其他窗口也无法执行操作了 # [root@b72a3410be5 /]$ hostname # b72a3410be5 $docker exec -ti b72 /bin/echo

    1.5K30

    Docker-compose容器编排

    你需要定义一个 YAML 格式配置文件docker-compose.yml,写好多个容器之间调用关系。然后,只要一个命令,就能同时启动/关闭这些容器。...如果我需要同时部署好多个服务,难道要每个服务单独写Dockerfile然后构建镜像,构建容器,这样累都累死了,所以docker官方给我们提供了docker-compose多服务部署工具。...工程(project) :由一组关联应用容器组成一个完整业务单元,docker-compose文件当中定义。...docker-compose exec yml里面的服务id 进入容器实例内部 docker-compose exec docker-compose.yml文件中写服务id /bin/bash docker-compose...2.执行docker-compose up命令 3.进入mysql容器内创建数据库和表 docker exec -it 容器实例id /bin/bash mysql -uroot -p create

    89020

    业界 | AMDGPU现在可以加速TensorFlow深度学习了

    ROCm 内核包后重启计算机,以强制内核重启加载。...可以 docker 网站上找到安装 docker 手册,但可能最简单方法使用 docker 自己 bash 脚本。...如果允许在你机器上运行从互联网下载 bash 脚本,打开一个 bash 提示符并执行以下命令行: curl -sSL https://get.docker.com/ | sh 用上面的脚本查看 Linux...因此,AMD 建议进行重要工作前验证是否使用「overlay2」存储驱动程序设置了 docker。 第 4 步 A:使用 docker CLI 构建 ROCm 容器 ?...sudo docker-compose run --rm rocm 第 5 步:验证 ROCm-docker 容器是否成功构建 验证基于工作容器 ROCm 软件堆栈 第 2 步和第 3 步之后,应该有一个对正在运行

    2K20

    《前端运维》三、Docker--2其他

    然后打开另一个命令窗口,来访问下:    就成功了。...三、Docker网络    安装docker,会自动创建三个网络:bridge、host、none。其中,none意味着关闭容器网络功能,对外界完全隔离。...compose配置文件中通过services来定义,然后使用docker-compose脚本来启动、停止和重启应用和应用中服务以及所有依赖服务容器。   ...  然后,我们就可以通过docker-compose命令去启动刚才配置容器了: docker-compose up   怎么验证呢,再打开个终端窗口,curl你启动ip就好了。...当然,类似于docker,我们也可以通过docker-compose命令,指定容器网络和数据卷,区别的是,文件存储位置不太一样,docker-compose数据卷存储:/var/lib/docker

    72320
    领券