我怎样才能用docker-compose进入bash shell?
意图:我想弄清楚如何使用命令docker-compose up --build
来构build一台具有充当Web服务器和MSSQL服务的Apache / PHP7.1服务的机器作为所服务的应用程序的数据库从networking服务器。
我需要能够在构build这个开发环境的时候向docker容器input命令(以便我可以查看PHP日志等),但是由于Web服务器正在运行,我的terminal被占用了来自Web服务器,当我按ctrl+Z
,它实际上把泊坞窗进程在后台。
问题是:无论如何,我可以运行这个docker-compose.yml文件,并让它进入客机上的shell?
服务1:
webserver: image: php:7.1-apache stdin_open: true tty: true volumes: - ./www:/var/www/html ports: - 5001:80
服务2:
mssql: image: microsoft/mssql-server-linux stdin_open: true tty: true environment: - ACCEPT_EULA=Y volumes: - ./www:/var/www/html ports: - 1433:1433 depends_on: -webserver
你可以在正在运行的容器中exec
一个新的进程。
docker-compose exec [options] SERVICE COMMAND [ARGS...]
在你的情况
docker-compose exec webserver bash
docker exec
的-i
和-t
选项在docker-compose exec
被假定
首先,与docker run
相同, docker-compose
有一个在后台运行服务/容器的选项。
docker-compose up --detach --build
之后,列出正在运行的容器:
docker-compose ps
并像@Matt连接到容器已经回答 。
- 官方nginx和php docker图像的“Hello World”。 如何?
- 将docker-compose日志保存到文件中
- 如何在一个docker集装箱上安装多个PHP版本
- AWS ECRauthenticationtesting
- 为什么Docker Compose重新启动可以渲染容器输出越来越多?
- MySQL映像忽略docker-compose.yml的卷configuration
- 如何用Docker加载mysql扩展dockerfile,用Pfm和Nginx和Mysql编写
- 在使用docker&docker撰写时访问打字稿中的节点模块
- 在Docker中使用Spring保存文件后“const_get':未初始化的常量(NameError)'