Contenu connexe
Similaire à Docker 基本のおさらい (20)
Docker 基本のおさらい
- 10. Docker Hub
Docker社は、Docker Hub というクラウド上のリポジトリ
を提供しており、様々な団体や個人が作成した Dockerイ
メージを利用したり、自分で作成したイメージを共有する
ことが可能。
https://hub.docker.com/
Docker
コンテナ
Docker
イメージ
Docker
イメージ
docker run
docker commit
docker pull
docker push
- 16. Dockerイメージのビルド
Dockerfile をビルドし hoge/ubu:1.0 という
Dockerイメージを生成
$ cd [Dockerfileがあるディレクトリ]
$ sudo docker build –t hoge/app:1.0 ./
Dockerfile
docker
build
Docker
イメージ
hoge/app:1.0
- 20. Data Volume
ホストの /opt/test-app/ をコンテナの /app と
してマウントさせる
$ sudo docker run -it -v /opt/test-app:/app ubuntu /bin/bash
ホスト側
マウントされるディレクトリ
コンテナ側
マウントディレクトリ
- 22. Data Volume Container
/var/volume を共有するデータボリュームコン
テナを生成+起動する
上記コンテナの /var/volume を共有するコン
テナを生成+起動する
$ sudo docker run -it -v /var/volume --name vol1 ubuntu /bin/bash
$ sudo docker run -it --volumes-from vol1 ubuntu /bin/bash
FROM ubuntu
...
...
VOLUME ["/var/volume"]
CMD ["/bin/bash"]
- 28. コンテナ・リンク
リンク元のコンテナA
コンテナAに接続するコンテナB
$ sudo docker run –d --name pg ubuntu:latest postmaster -D /usr/local/pgsql/data
$ sudo docker run -d --link pg:db ubuntu:latest /someService
コンテナB
環境変数
DB_PORT_5432_TCP_ADDR=172.17.0.2
DB_PORT=tcp://172.17.0.2:5432
DB_5432_TCP=tcp://172.17.0.2:5432
DB_PORT_5432_TCP_PORT=5432
/etc/hosts
172.17.0.2 db
- 30. WordPressシステム構築
Data Volume コンテナ
$ cd [Dockerfileのディレクトリ]
$ vi Dockerfile # Dockerfile作成
$ sudo docker build -t storage .
$ sudo docker run -it --name storage storage
ROM ubuntu:latest
MAINTAINER ngzm <nk.ngzm@gmail.com>
VOLUME /var/lib/mysql
CMD /bin/bash
- 31. WordPressシステム構築
MySQLコンテナ
WordPressコンテナ
$ sudo docker run --name wpdb ¥
--volumes-from storage ¥
-e MYSQL_ROOT_PASSWORD=password ¥
-d mysql:5.7
$ sudo docker run --name wpap ¥
--link wpdb:mysql ¥
-p 8080:80 ¥
-d wordpress:latest
- 33. Docker Compose
docker-compose.yml
storage:
build: ./storage
wpdb:
image: mysql:5.7
volumes_from:
- storage
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: password
wpap:
image: wordpress:latest
links:
- wpdb:mysql
ports:
- "8080:80"
コンテナ間のシステム
構成を YAMLファイル
で定義できる!!!
定義内容は、docker
runのオプションとほぼ
対応しておりうれしい
~
Data
Volume
コンテナ
MySQL
コンテナ
WordPress
コンテナ