docker containerをdocker hubにpushして公開する方法
地図データの入った PostgreSQL + postGIS サーバ を関係者に配るために、Docker containerのイメージを公開する(サーバ構築手順書を作成するのが面倒だから)
1.コンテナイメージの確認
C:\Users\ebata>docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6432e639f678 postgis-pgrouting:latest "docker-entrypoint.s…" 3 months ago Up 6 hours 0.0.0.0:15432->5432/tcp toyosu_db_1
2.コンテナイメージのパッキング(commit)
C:\Users\ebata>docker commit 6432e639f678 tommurphy/toyosu_db_1
sha256:c7a1a0537fbe24d0c1371264cbd83e620a09e2ec5c328b5fbb42efb0e9454f8e
3. dockerへのログイン
C:\Users\ebata>docker login -u tommurphy
Password:
Login Succeeded
4. 外部への公開
C:\Users\ebata>docker push tommurphy/toyosu_db_1
The push refers to repository [docker.io/tommurphy/toyosu_db_1]
fcc5c725337c: Layer already exists
fcc5c725337c: Layer already exists
a3994f456ccb: Layer already exists
.....
latest: digest: sha256:27a46f90aa1c7c9f9b5fa92877d22156144b882ba15ba4e04fe0e4fe2cb4af24 size: 4497
5. 確認
https://hub.docker.com/にアクセス
5. 相手側への連絡
「dockerをインストールしたマシンで、"docker pull tommurphy/toyosu_db_1" とコマンド投入しろ」
「で、そのあと、$ docker run -it tommurphy/toyosu_db_1 bash とコマンド投入しろ」
と連絡する。
(とりあえず、Windows10で作ったイメージを、Amazon Lightsailの ubuntu20.04に入れることまでは成功した。動くかどうかは不明)
→ ダメ。データベースすっからかんのコンテナができた。もうちょっと嵌る必要があるなぁ
というか、そもそもDockerコンテナとはそういうものらしい("docker" "postgresql" "永続化"、あたりでググってみる)
現在、PostgreSQLをデータごとDockerコンテナ化するを読んでいる。