YanoRyuichi.com/
Wiki
Blog
GitHub
Sandbox
開始行:
* MySQLデータを永続化するコンテナを作る [#jfe4a60c]
** MySQLデータを永続化する時の問題点 [#ve31847b]
- 公式のMySQLイメージはMySQLデータをDockerのデータボリュ...
- したがって、コンテナをコミットしてもイメージにMySQLデー...
- ここではデータボリュームを使わずに、イメージに保存でき...
** 1. 公式MySQLイメージのカスタマイズ [#v14635e0]
*** 1.1 Dockerfileの作成 [#e28c95d9]
FROM mysql:latest
RUN cp -r /var/lib/mysql /var/lib/mysql-no-volume
RUN sed -i -e "s|/var/lib/mysql|/var/lib/mysql-no-volume...
- 適当なディレクトリで上の内容でDockerfileを作成する
*** 1.2 Dockerfileのビルド [#je9cce3e]
$ docker build . -t my-mysql
- Dockerfileからmy-mysqlイメージをビルドする
** 2. カスタマイズしたコンテナの起動とテストデータをDBに...
*** 2.1 コンテナの起動 [#b4456f21]
docker run --name test-mysql -e MYSQL_ROOT_PASSWORD=root...
*** 2.2 MySQLにDB作成、テストデータを保存 [#nc3a42a9]
docker exec test-mysql mysql -u root --password=root mys...
docker exec test-mysql mysql -u root --password=root tes...
*** 2.3 コンテナを再起動し、コンテナ内に保存されたデータ...
docker stop test-mysql
docker start test-mysql
docker exec -it test-mysql mysql -u root --password=root...
** 3. カスタマイズしてデータ保存したコンテナからイメージ...
*** 3.1 カスタマイズしてデータが保存されたコンテナからイ...
docker commit test-mysql my-mysql
*** 3.2 作成したイメージをDockerHubにPUSH [#ecd4c1c5]
docker login
docker tag my-mysql [DOCKERHUB_USERNAME]/my-mysql
docker push [DOCKERHUB_USERNAME]/my-mysql
*** 3.3 確認のため、ローカルのコンテナ、イメージを削除 [#...
docker rm -f test-mysql
docker rmi my-mysql
*** 3.4 DockerHubにPUSHしたイメージをPULLしてコンテナ起動...
docker run --name test-mysql -it [DOCKERHUB_USERNAME]/my...
*** 3.5 DockerHubからPULLしたイメージに保存されたデータが...
docker exec -it test-mysql mysql -u root --password=root...
** 参考 [#s8e0aaba]
https://stackoverflow.com/questions/30740828/commit-data-...
終了行:
* MySQLデータを永続化するコンテナを作る [#jfe4a60c]
** MySQLデータを永続化する時の問題点 [#ve31847b]
- 公式のMySQLイメージはMySQLデータをDockerのデータボリュ...
- したがって、コンテナをコミットしてもイメージにMySQLデー...
- ここではデータボリュームを使わずに、イメージに保存でき...
** 1. 公式MySQLイメージのカスタマイズ [#v14635e0]
*** 1.1 Dockerfileの作成 [#e28c95d9]
FROM mysql:latest
RUN cp -r /var/lib/mysql /var/lib/mysql-no-volume
RUN sed -i -e "s|/var/lib/mysql|/var/lib/mysql-no-volume...
- 適当なディレクトリで上の内容でDockerfileを作成する
*** 1.2 Dockerfileのビルド [#je9cce3e]
$ docker build . -t my-mysql
- Dockerfileからmy-mysqlイメージをビルドする
** 2. カスタマイズしたコンテナの起動とテストデータをDBに...
*** 2.1 コンテナの起動 [#b4456f21]
docker run --name test-mysql -e MYSQL_ROOT_PASSWORD=root...
*** 2.2 MySQLにDB作成、テストデータを保存 [#nc3a42a9]
docker exec test-mysql mysql -u root --password=root mys...
docker exec test-mysql mysql -u root --password=root tes...
*** 2.3 コンテナを再起動し、コンテナ内に保存されたデータ...
docker stop test-mysql
docker start test-mysql
docker exec -it test-mysql mysql -u root --password=root...
** 3. カスタマイズしてデータ保存したコンテナからイメージ...
*** 3.1 カスタマイズしてデータが保存されたコンテナからイ...
docker commit test-mysql my-mysql
*** 3.2 作成したイメージをDockerHubにPUSH [#ecd4c1c5]
docker login
docker tag my-mysql [DOCKERHUB_USERNAME]/my-mysql
docker push [DOCKERHUB_USERNAME]/my-mysql
*** 3.3 確認のため、ローカルのコンテナ、イメージを削除 [#...
docker rm -f test-mysql
docker rmi my-mysql
*** 3.4 DockerHubにPUSHしたイメージをPULLしてコンテナ起動...
docker run --name test-mysql -it [DOCKERHUB_USERNAME]/my...
*** 3.5 DockerHubからPULLしたイメージに保存されたデータが...
docker exec -it test-mysql mysql -u root --password=root...
** 参考 [#s8e0aaba]
https://stackoverflow.com/questions/30740828/commit-data-...
ページ名: