2017-10-06 4 views
0

意図: コマンドdocker-compose up --buildを使用して、Webサーバーとして動作するApache/PHP7.1サービスと、提供されるアプリケーションのデータベースとしてMSSQLサービスを持つマシンを構築する方法を理解しようとしています。 Webサーバー。docker-composeを使用してbashシェルにドロップするにはどうすればよいですか?

私はこの開発環境を構築している間に(私はPHPログなどを見ることができるように)ドッカーコンテナへのコマンドを入力できる必要がありますが、Webサーバが稼動しているので、 Webサーバーからの出力で、ctrl+Zを押すと、実際にドッカープロセスがバックグラウンドに置かれます。

質問: は、私は、このドッキングウィンドウ-compose.ymlファイルを実行し、ゲストマシン上でシェルに私をドロップすることができますことをとにかくありますか?

サービス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 
+1

ここでも同様の「ドッカー」回答が適用されます。https://stackoverflow.com/q/17903705/1318694 – Matt

答えて

2

することができますexec新しいプロセス。 docker execから-i-tオプションがdocker runと同じまず、docker-composeは、サービス/コンテナを実行するためのオプションを持っているdocker-compose exec

1

で想定されている

docker-compose exec webserver bash 

あなたのケースでは

docker-compose exec [options] SERVICE COMMAND [ARGS...] 

バックグラウンドでその後

docker-compose up --detach --build 

、で実行されているコンテナをリスト:

docker-compose ps 

そして@Mattすでにanswered状の容器に接続します。

関連する問題