最小の手数でHello world.
とりあえず最小の手数でwordpressを起動してみる。
イメージのダウンロード
docker pullでMySQLとWordPressのイメージをダウンロードする。
イメージはサービス単位。
“MySQL”を実現するためのOSとミドルウェア。
“WordPress”を実現するためのOSとミドルウェア。例えばWebサーバも含んでいる。
まずはMySQL。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$ docker pull mysql:5.7.21 5.7.21: Pulling from library/mysql 2a72cbf407d6: Pull complete 38680a9b47a8: Pull complete 4c732aa0eb1b: Pull complete c5317a34eddd: Pull complete f92be680366c: Pull complete e8ecd8bec5ab: Pull complete 2a650284a6a8: Pull complete 5b5108d08c6d: Pull complete beaff1261757: Pull complete c1a55c6375b5: Pull complete 8181cde51c65: Pull complete Digest: sha256:691c55aabb3c4e3b89b953dd2f022f7ea845e5443954767d321d5f5fa394e28c Status: Downloaded newer image for mysql:5.7.21 docker.io/library/mysql:5.7.21 |
次にWordPress。何も指定しないと最新が落ちる様子。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
$ docker pull wordpress Using default tag: latest latest: Pulling from library/wordpress bb79b6b2107f: Pull complete 80f7a64e4b25: Pull complete da391f3e81f0: Pull complete 8199ae3052e1: Pull complete 284fd0f314b2: Pull complete f38db365cd8a: Pull complete 1416a501db13: Pull complete be0026dad8d5: Pull complete 7bf43186e63e: Pull complete c0d672d8319a: Pull complete 645db540ba24: Pull complete 6f355b8da727: Pull complete aa00daebd81c: Pull complete 98996914108d: Pull complete 69e3e95397b4: Pull complete 5698325d4d72: Pull complete b604b3777675: Pull complete 57c814ef71bc: Pull complete ed1877bc3d14: Pull complete 673ead1d3971: Pull complete Digest: sha256:46fc3c784d5c4fdaa46977debb83261d29e932289a68739f1e34be6b27e04f87 Status: Downloaded newer image for wordpress:latest docker.io/library/wordpress:latest |
MySQLコンテナを起動
コンテナ(イメージ)を起動する。
1 2 |
$ docker run --name test-mysql -e MYSQL_ROOT_PASSWORD=test-pw -d mysql 013a2eb6b5b1c0b0f61e85cace6540ec036be80c9f85e8c9b5ed3e114a4cc8e8 |
パラメタは以下の通り。
Option | Value | 説明 |
---|---|---|
–name | test-mysql | コンテナに名前を付ける。この例であれば test-mysql |
-e | MYSQL_ROOT_PASSWORD=test-pw | コンテナの環境変数を設定する。MYSQL_ROOT_PASSWORDという環境変数としてtest-pwを設定 |
-d | – | DetachedMode(Background)を指定する。指定がない場合Foregroud. |
WordPressコンテナを起動
WordPressコンテナを起動する。
1 2 |
$ docker run --name test-wordpress --link test-mysql:mysql -d -p 8080:80 wordpress a1301075d3667de7eddd9edc0c46edaeb4346a5c46ef444538c9cf9987f31471 |
パラメタは以下の通り。
Option | Value | 説明 |
---|---|---|
–link | test-mysql:mysql | コンテナを連携させる。書式は –link [コンテナ名]:[エイリアス]。test-mysqlがコンテナ名(前述)で、mysqlがそのエイリアス。 |
-p | 8080:80 | HostとGuestのポートマッピング。Hostの8080をGuestの80にマッピングする。 |
Hostの8080にWordPressコンテナ内の80がマップされた。
http://localhost:8080/ でWordPressの言語選択画面が表示される。
非同期で起動したコンテナにアタッチ
docker execで非同期に起動したWordPressコンテナ内のディレクトリにアクセスできる。
この例だと/var/www/html。
ゴニョゴニョいじると変更が反映される。
1 2 |
$ docker exec -it test-wordpress /bin/bash root@a1301075d366:/var/www/html# |
もちろん、コンテナを落とすと変更は失われる。
まとめ
DockerでWordPressを動かすデモに超速で入門した。