自作イメージをdocker hubにpushする
2020-03-12
2020-03-12
何故やるのか
皆様お久しぶりです。唯一dockerに関して投稿しておりますバジルです・・・。
さて、弊社の開発においてはdockerを利用していますが、
ベースは公式のイメージを使っており、そのイメージにbuildを走らせて使っております。
ですがこのbuild、最初は良いのですが肥大化していき、
何かあった場合にbuildしなおすと、数時間吹っ飛んでいったりします。
それを防ぐにはbuild済みのイメージをdocker hubにpushしておき、
今後はそれを使えば良いのです!(今更
やることはとても簡単
では進めていきましょう。わざわざイメージをpushするくらいなので、作りたいイメージの元は存在するとします。
まずはpushするためにログインしておきましょう。
アカウントがない方はdocker hubで作成しておいてください。
```
$ docker login
```
ログインできましたでしょうか。
では次にコンテナ一覧を見てみましょう
```
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2f91fae68b2d docker_lessar-admin-php "docker-php-entrypoi…" 4 minutes ago Up About a minute 9000/tcp lessar-admin-php
こんな感じで表示されると思います。
一応念の為、dockerは止めておきましょう。
```
$ docker-compose stop
```
止めたらコンテナからイメージを作ります。コンテナIDはコピペしておきましょう
```
$ docker commit 2f91fae68b2d startialab/lessar-php:latest
```
docker commit <コンテナID> <タグ>:<バージョン>
になります。
これでイメージが作成されましたので、こいつをpushしてやります。
```
$ docker push startialab/lessar-php
```
これで無事にpushされたと思います!