自作イメージを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されたと思います!