2017-12-19 3 views
0
docker run --rm -it --name foo -h foo --net net1 ubuntu:latest /bin/bash 
docker run --rm -it --name bar -h bar --net net1 ubuntu:latest /bin/bash 

上記のコマンドをdocker-compose構文でどのように書き直す必要がありますか?docker:dockerコマンドをdocker-compose構文に変換する

docker run --rm -it --name foo -h foo --net net1 ubuntu:latest /bin/bash 
docker run --rm -it --name bar -h bar --net net1 ubuntu:latest /bin/bash 

については

+0

できません。 'docker-compose'はあなたが直接bashに入ることを許しません。他のコマンドを使う必要がありますし、bashに入るために 'docker-compose exec'を使う必要があります。 –

+0

--name部分と-net部分にもっと興味があります。私が理解するように、彼らはデフォルトで1つのネットワークに座るため、ネットは必要ではありません。しかし、どのようにして--nameを指定すれば、コンテナから項目を相互参照することができますか? –

答えて

1

以下のようなものを使用する必要があります。しかし、自分でドッカーネットワークを設定した場合は、作成ファイルにドッカーネットワークを指定し、ネットワークにexternalとマークすることができます。

version: 3 
services: 
    foo: 
    container_name: foo 
    image: ubuntu:latest 
    hostname: foo 
    networks: 
     - my_net 

    bar: 
    container_name: bar 
    image: ubuntu:latest 
    hostname: bar 
    networks: 
     - my_net 

networks: 
my_net: 
    external: 
    name: my_net 
1

セットアップのための新しいブリッジドッカネットワークを作成します。デフォルトではdocker-compose

version: 3 
services: 
    foo: 
    image: ubuntu 
    hostname: foo 
    bar: 
    image: ubuntu 
    hostname: bar 
関連する問題