Docker Composeでコンテナを起動・停止
(個人備忘録です。)
事前準備的なやつ
バージョン確認
$ docker-compose version docker-compose version 1.24.0, build 0aa59064 docker-py version: 3.7.2 CPython version: 3.6.8 OpenSSL version: OpenSSL 1.1.0j 20 Nov 2018
docker-compose.yamlの作成
version: "3.3" services: echo-test: image: example/echo:latest ports: - 8000:8080
ディレクトリ構成
ディレクトリ構成はこんな感じ。
. ├── docker-compose.yaml ├── Dockerfile └── main.go
起動・停止
コンテナの起動
$ sudo docker-compose up -d Creating network "docker-test_default" with the default driver Creating docker-test_echo_1 ... done $ sudo docker container ls CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d9aabf2fa453 example/echo:latest "go run /echo/main.go" 5 seconds ago Up 5 seconds 0.0.0.0:8000->8080/tcp echo-test_1
コンテナの停止
$ sudo docker-compose down Stopping echo-test_1 ... done Removing echo-test_1 ... done Removing network default
おまけ:docker-compose upのときにイメージもビルドする
docker-compose.yamlの中でbuild
属性を記述すればいける。
version: "3.3" services: echo: build: . ports: - 8000:8080
↑の例だと、docker-compose.yaml
と同じ階層に存在するDockerfile
をビルドできる。
すでにイメージがビルドされている場合はスキップしてコンテナの実行を実施するが、--build
オプションを指定することで必ずDockerイメージのビルドを実施させることが可能。
こんな感じ。
$ sudo docker-compose up -d --build