Docker

Docker で、イメージの名前を変更する方法

tag コマンドを使う。

docker tag <image_id> <repository_name>:<tag>

ここで、:tag の部分は省略して <repository_name> だけにしてもよい。コロン(:)の後の tag は、日付やバージョンをつけて同じリポジトリの中で異なるバージョンのイメージを置くという感じ。

docker tag <image_id> <repository_name>
続きを読む

Ubuntu 16.04 LTS の Docker で、サーバ再起動後に Docker コンテナ内のサービスを自動起動する方法

Ubuntu 14.04 LTS では、サーバ起動時はUpstart というもので Apache などのサービスを起動していたのだけれど、16.04 LTS からは Systemd というのに変わってしまった。それによって、これまで 14.04 LTS ではうまくいっていたサーバ起動時の Docker コンテナ起動ができなくなってしまった・・・

・・・と、お嘆きの皆様、systemd なんかをいろいろいじってみたのだが、以下のようなシンプルな手順で今は落ち着きました。

docker run --name <Docker 名> -h <ホスト名> -it <コンテナ ID> /bin/bash

でコンテナを起動しておく。そのあと、/etc/rc.local (の、最後の方)に

vi /etc/rc.local

以下のように docker start を書いておくだけ。

続きを読む

Ubuntu 14.04 LTS の Docker で、サーバ再起動後に Docker コンテナ内のサービスを自動起動する方法

Docker コンテナに Apache2 をインストールして Docker コンテナを起動(docker run または docker start)しても、Apache2 は起動してくれない。ググるとどうも Docker は /sbin/init などが書き換えられているらしく、ふだん我々が普通に使用している Apache2 などのサーバサービス(多くは service コマンドで起動・停止などコントロールできるもの)を自動起動できないようだ。いろいろな方法があるようだが、結局は以下の方法が一番簡単なように思う。

docker コンテナにログイン後、docker コンテナ内の /root/.bashrc ファイルの最後に以下の 1行を加える(Apache2 の場合)

vi ~/.bashrc

 

service apache2 start

Docker のホスト OS (Ubuntu 14.04 LTS で確認済み)で、以下のファイルを作成する。

続きを読む
Docker を購読