Dockerイメージではなく、Dockerfileを使ってビルドする方法をとってみます。
$ docker build --rm -t (name)/wordpress git://github.com/jbfink/docker-wordpress.git
(name)の部分は適当な名前を付与して構いません。
これを実行することにより必要なイメージをダウンロードしてビルドします。
次に、以下のコマンドを実行します。
$ docker run --name wordpress1 -d -p 8080:80 -p 2022:22 (name)/wordpress
(name)は適当に付与した名前です。たとえば、sample という名前をつけたなら、sample/wordpress というDockerイメージができあがるわけです。
そして、wordpress1という名前をコンテナに付与しています。
加えて、80番(HTTP)と、22番(SSH)のポートをホストの 8080番に、2022番に、それぞれルーティングするように設定します。
これで完了です。
では、http://localhost:8080/ にアクセスしてみてください。
WordPress のインストール画面が表示されます。
簡単ですね。
では、WordPressをインストールしちゃいます。
サクッと完了です。
では、Dockerコンテナを終了してみます。
$ docker stop wordpress
これで、さきほどのURLにアクセスしてみてください。画面は表示できないはずです。
もう一度、再開するには
$ docker start wordpress
さて、ここからがポイントです。
コンテナは終了すると破棄されます。つまり、インスタンスを失い次に起動したときは新しいインスタンスで立ち上がります。
したがって、コンテナの中で設定された内容は永続化されません。
それでは困ってしまうので、現在の状況を別のコンテナとして記録します。
$ docker ps -a
上記のコマンドで現在のコンテナプロセス(起動しているもの、停止しているものも共に)がリストされます。その中から、さきほど停止したコンテナのIDに注目します。
そのうえで、以下のコマンドを実行します。
$ docker commit (CONTAINER ID) wordpress2:test
これで、さきほどのWordPressコンテナをコミットしました。
その上で、コンテナのイメージをリストします。
$ docker images
REPOSITPRYが wordpress2、TAGが test というイメージがリストされたでしょうか。
これで、さきほど停止、または 中断したときの状態からコンテナを起動することができるようになります。
0 件のコメント :
コメントを投稿