如何使用 docker-compose 进入 bash shell?
·
问题:如何使用 docker-compose 进入 bash shell?
意图: 我试图弄清楚如何使用命令docker-compose up --build来构建一台机器,其中 Apache/PHP7.1 服务充当 Web 服务器,MSSQL 服务作为应用程序的数据库,从网络服务器。
我需要能够在构建这个开发环境时向 docker 容器输入命令(以便我可以查看 PHP 日志等),但是由于 Web 服务器正在运行,我的终端被来自web 服务器,当我按下ctrl+Z时,它实际上将 docker 进程置于后台。
问题: 无论如何我可以运行这个 docker-compose.yml 文件并让它把我放到来宾机器上的 shell 中吗?
服务一:
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中
更多推荐



所有评论(0)