DockerにPython3 + Anacondaの環境を準備します。
環境
Docker Community Edition 17.06.0-ce-mac19 (18663)
macOS Sierra 10.12.6
手順
イメージのダウンロード
イメージをダウンロードします。
1 |
$ docker pull continuumio/miniconda3 |
イメージからコンテナを起動してみます。
1 2 |
$ docker run -i -t continuumio/miniconda3 /bin/bash # |
コンテナを終了します。
1 2 3 |
# exit exit $ |
コンテナからイメージを保存
コンテナからイメージを保存します。
まず「CONTAINER ID」を確認し、
1 2 3 |
$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 82412b7d062d continuumio/miniconda3 "/usr/bin/tini -- ..." About a minute ago Exited (0) 22 seconds ago relaxed_lumiere |
「docker commit」で保存します。
1 2 |
$ docker commit 82412b7d062d mlearn:init sha256:0d975d00479558005597300b48faca86c5d4f79e347956e07006018cfc766eed |
イメージが保存されたことを確認します。
1 2 3 4 |
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE mlearn init 0d975d004795 16 seconds ago 454MB continuumio/miniconda3 latest 5697a576040b 3 months ago 454MB |
保存したイメージからコンテナを起動
保存したイメージからコンテナを起動します。
ここで、タグ名は省略できるそうなのですが、エラーになってしまいました。
1 2 3 4 |
$ docker run -i -t mlearn /bin/bash Unable to find image 'mlearn:latest' locally docker: Error response from daemon: repository mlearn not found: does not exist or no pull access. See 'docker run --help'. |
どうやらタグ名を省略すると、”latest”が指定されたものと解釈されるようです。
- コンテナの実行にはdocker runコマンドを利用します。
# docker run [オプション] <イメージ名>[:タグ名] [コマンド] [コマンドの引数] …
- イメージのタグを省略した場合、”latest”が指定されたものと解釈されます。
ということで、以下のようにタグ名を指定するか、
1 2 |
$ docker run -i -t mlearn:init /bin/bash # |
または、latestタグのイメージを作成することで起動することができました!
1 2 3 4 5 6 7 8 9 10 11 12 |
$ docker tag mlearn:init mlearn $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE mlearn init 0d975d004795 44 minutes ago 454MB mlearn latest 0d975d004795 44 minutes ago 454MB $ docker rmi mlearn:init Untagged: mlearn:init $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE mlearn latest 0d975d004795 45 minutes ago 454MB $ docker run -i -t mlearn /bin/bash # |