Dockerを使ってみる Docker レジストリ編
概要
Dockerを使ってみる。
参考書籍
プログラマのためのDocker教科書 インフラの基礎知識&コードによる環境構築の自動化
- 作者: 阿佐志保,山田祥寛
- 出版社/メーカー: 翔泳社
- 発売日: 2015/11/20
- メディア: 大型本
- この商品を含むブログ (3件) を見る
やったこと
プライベートレジストリの構築・管理
Dockerレジストリの構築
- registryのimageをpullする。
docker pull registry:2.0 # 2.0を指定しないと、0系の最新版になってしまうので注意
- 5000番ポートを使って、ポートを転送する。registory imageを使って、コンテナを起動・生成する。
$ docker run -d -p 5000:5000 registry:2.0 # 稼働状況を確認 $ docker ps
これでローカルホストPC内にDockerレジストリの構築が完了。
イメージのアップロード
- レジストリにアップ用のwebserverという名前のimageをbuildしてみる。
$ docker build -t webserver .
- Dockerレジストリにアップロードするには、以下のルールでイメージにタグをつける
$ docker tag [ローカルのイメージ名] [DockerレジストリのIPアドレスor ホスト名:ポート番号]/[イメージ名] #上記の例に従うと以下のようなコマンドを実行する。 $ docker tag webserver localhost:5000/httpd
- docker pushでこのtagがついたイメージをregistory にpushする。
$ docker push localhost:5000/httpd
- 一旦、localのimageを削除してみる。
$ docker rmi webserver $ docker rmi localhost:5000/httpd
イメージのダウンロード
docker pull localhost:5000/httpd
Amazon S3を使ったイメージ共有
S3の準備をする。
- S3にbucketを作成する
- S3のbucketにアクセスできるuserを作成する。
プライベートリポジトリを起動して、環境変数を入れておく
$ docker run -d \ # コンテナ起動 --name registry \ # image -p 5000:5000 \ -e REGISTRY_STORAGE=s3 \ -e REGISTRY_STORAGE_S3_ACCESSKEY= ***** \ -e REGISTRY_STORAGE_S3_SECRETKEY= ***** \ -e REGISTRY_STORAGE_S3_BUCKET= ***** \ -e REGISTRY_STORAGE_S3_REGION= **** \ -e REGISTRY_STORAGE_S3_ROOTDIRECTORY=/v2 \ # rootdirectoryのpath registry:2.0
イメージをアップロード/ダウンロードする
$ docker push localhost:5000/httpd #タグづけされたimageをアップロードする。 $ docker pull localhost:5000/httpd