3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

docker-composeを使わないで同じことをする

Posted at

はじめに

「docker-composeを使うと便利〜」ってよく言われますが、どのぐらい便利になるかわからなかったので調べました。
細かく調べたわけではないので間違っている箇所があればお手数おかけしますが教えていただけると嬉しいです。

今回はQuickstart: Compose and WordPressを例に進めていきます

ネットワークの作成、コンテナの作成、コンテナをネットワークへ参加させる

docker-composeの場合

※ymlファイルを書いてから

$ docker-compose up

docker単体の場合

# ネットワークの作成
$ docker network create my_wordpress_default

# dbのコンテナを作成
$ docker run --restart=always \
-v my_wordpress_db_data:/var/lib/mysql \
--name my_wordpress_db_1 \
-e MYSQL_ROOT_PASSWORD="somewordpress" \
-e MYSQL_DATABASE="wordpress" \
-e MYSQL_USER="wordpress" \
-e MYSQL_PASSWORD="wordpress" \
mysql:5.7

# wordpress用のコンテナを作成
$ docker run --restart=always \
-v my_wordpress_wordpress_data:/var/www/html \
--name my_wordpress_wordpress_1 \
-e WORDPRESS_DB_HOST="my_wordpress_db_1" \
-e WORDPRESS_DB_USER="wordpress" \
-e WORDPRESS_DB_PASSWORD="wordpress" \
-e WORDPRESS_DB_NAME="wordpress" \
-p "8000:80" \
wordpress:latest

# ネットワークにdbのコンテナを追加
$ docker network connect my_wordpress_default my_wordpress_db_1
# ネットワークにwordpress用のコンテナを追加
$ docker network connect my_wordpress_default my_wordpress_wordpress_1

シャットダウン

docker-composeではシャットダウンするとコンテナが停止されます。

docker-composeの場合

$ docker-compose down

docker単体の場合

$ docker stop my_wordpress_wordpress_1
$ docker stop my_wordpress_db_1

クリーンアップ

docker-composeではクリーンアップをするとネットワーク、コンテナが削除されます。

docker-composeの場合

docker-compose down --volumes

docker単体の場合

# コンテナを削除
$ docker rm my_wordpress_wordpress_1
$ docker rm my_wordpress_db_1
# ネットワークを削除
$ docker network rm my_wordpress_default
# ボリュームを削除
$ docker volume rm my_wordpress_db_data
$ docker volume rm my_wordpress_wordpress_data

おわりに

ああ、便利ですね。
シェルスクリプトでコマンドを纏めてあげてもいいですが、それだと起動と削除別々のスクリプトになってファイルが多くなってしまうっていうのがわかりましたね。(1個にも纏められますがあんまり複雑にしたくないので)
dockerは停止、削除のコマンドはrm -fで一括で出来たりもするんですが、docker-composeに合わせて分けて記載しました。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?