首页
学习
活动
专区
工具
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

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

    3K10

    docker高级篇(大厂进阶):安装redis集群

    答案:1.2.2 3主3从redis集群扩缩容配置案例架构说明整体流程图知识点总结图使用步骤:1)关闭防火墙+启动docker后台服务2)新建6个docker容器redis实例3)进入容器redis-node...redis-node-1并为6台机器构建集群关系进入容器执行命令:docker exec -it redis-node-1 /bin/bash构建主从关系//注意,进入docker容器后才能执行一下命令...ps注意点2:步骤2中进入6387容器实例内部,执行命令:docker exec -it redis-node-7 /bin/bash注意点3:步骤3中将新增的6387节点(空槽号)作为master节点加入原集群将新增的...《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务6...《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走8.docker基础篇:安装tomcat9

    12400

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

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

    12.5K01

    在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.

    2.2K30

    《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群

    mysql-slave注意点9:步骤9中在主数据库中查看主从同步状态执行命令:show master status;注意点10:步骤10中进入mysql-slave容器执行命令:docker exec...redis-node-1并为6台机器构建集群关系进入容器执行命令:docker exec -it redis-node-1 /bin/bash构建主从关系//注意,进入docker容器后才能执行一下命令...ps注意点2:步骤2中进入6387容器实例内部,执行命令:docker exec -it redis-node-7 /bin/bash注意点3:步骤3中将新增的6387节点(空槽号)作为master节点加入原集群将新增的...《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务6...《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走8.docker基础篇:安装tomcat9

    5300

    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

    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

    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

    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.6K30

    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

    90120
    领券