Help us understand the problem. What is going on with this article?

コンテナからイメージを作成してdocker hubにpushする

目的

dockerコンテナにriscvのクロスコンパイラ環境を構築する際にriscv-toolchainのbuildに想像以上に時間が掛かり、また同じように環境作成を行うのはしんどいと思ったので環境作成中に一旦commitしてイメージを作成しようと考えた。ついでにdocker hubへのpushも行っておく。

参考記事

https://qiita.com/tubone/items/a3bad04abf4c700cae3d
https://www.memotansu.jp/docker/626/
http://docs.docker.jp/engine/reference/commandline/commit.html

作業環境

  • Windows10 Home Insider Preview
    • バージョン:2004
    • OSビルドバージョン:19564
  • WSL2 Ubuntu18.04
    • Remote-WSL(VSCode)

手順

稼働中のコンテナの停止

まずは稼働中のコンテナを停止するので、停止するコンテナを調べる。

$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
e21a09577ff9        rust-env            "/bin/bash"         10 hours ago        Up 10 minutes                           rust-env

調べて停止したいコンテナがあったら停止する。
(commitする際にコンテナが一時停止するようなのでこの手順はなくていいかも)

$ sudo docker stop

dockerコンテナのイメージ作成

docker commitで以下のように作成する。
docker commit [コンテナ名] [リポジトリ名]:[tag名]

$ sudo docker commit rust-env chilchil/rust-env:latest
sha256:1cd5668d157123abe7b3422623c21f96766df0df7e9c2a850e1d28aa488dd1fe

イメージが作成されたかどうか確認する。

$ sudo docker images
REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
chilchil/rust-env      latest              1cd5668d1571        53 seconds ago      14.3GB

docker hubにpush

作成したイメージをdocker hubにpushする。docker hubへのリポジトリの作成とかは以下を参照。
https://qiita.com/umi/items/d4b5a68263ad0444693b

$ sudo docker login
Authenticating with existing credentials...
~省略~
Login Succeeded
$ sudo docker push chilchil/rust-env
The push refers to repository [docker.io/chilchil/rust-env]
~省略~
latest: digest: sha256:175c3dadc63c15f5a3c369078999722553b9200158028cf97685baa911d0e168 size: 2624

pushしたdockerイメージを確認する。(publicである場合)

$ sudo docker search chilchil
NAME                   DESCRIPTION         STARS               OFFICIAL            AUTOMATED
chilchil/rust-env                          0               

以上になります。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした