1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Docker を試すサンプルメモ①

Posted at

メモ

  • Ubuntuのイメージを使ってコンテナを起動してみる
  • すぐに終了しない方法も確認してみる

イメージのダウンロード~コンテナの実行まで

# Ubuntuイメージのダウンロード
% docker pull ubuntu
# 確認
% docker images     
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              latest              72300a873c2c        2 weeks ago         64.2MB
# この時点ではコンテナはまだ無い
% docker ps                         
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
# コンテナとして起動。ただしフォアグラウンドのプロセスが無いため(?)すぐに終了する
# createとstartをするのと同義らしい
# http://docs.docker.jp/engine/reference/commandline/run.html
% docker run 72300a873c2c
# 確認。なにもない
% docker ps   
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
# すべて表示(-a)すると確認できる
% docker ps -a              
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
a67c73f36b34        72300a873c2c        "/bin/bash"         6 seconds ago       Exited (0) 5 seconds ago                       suspicious_lamport
# `docker start` で以前使っていたコンテナを実行できる
% docker start a67c73f36b34   
a67c73f36b34
# すぐ終了するけど STATUS が更新された
% docker ps -a             
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
a67c73f36b34        72300a873c2c        "/bin/bash"         8 minutes ago       Exited (0) 2 seconds ago                       suspicious_lamport
# フォアグラウンドのプロセスが無いとすぐに終了するらしいので、run時にループするコマンドを実行させてみる
% docker run 72300a873c2c /bin/sh -c "while :; do sleep 10; done"
# ターミナルは帰ってこない。別ターミナルで `docker ps` で確認する
# Dockerコンテナが実行中であることを確認できる
[別ターミナル]% docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
cfe9f0d0da0d        72300a873c2c        "/bin/sh -c 'while :…"   21 seconds ago      Up 20 seconds                           admiring_kilby

イメージの作成(Dockerfile)

動作確認のため、事前にイメージとコンテナを全部消しておく

% docker ps -aq | xargs docker rm; docker images -aq | xargs docker rmi -f

以下動作確認

# Dockerfile を作成
# Ubuntuイメージを使うのを定義するだけ
% cat Dockerfile
FROM ubuntu
# `docker build .` でイメージ作成
% docker build .
...
Successfully built 72300a873c2c
# イメージの確認
# ↑で確認したのと同じ、素のUbuntuイメージが確認できる
% docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              latest              72300a873c2c        2 weeks ago         64.2MB
# 再度イメージとコンテナを削除し、以下のようにDockerfileを定義してみる
# ↑でコンテナがすぐに終了しないようにするコマンド
% cat Dockerfile
FROM ubuntu
CMD while :; do sleep 10; done
# 再度 build
% docker build .
# 今度は素のイメージのダウンロードされたものと、カスタマイズしたイメージが生成されている(noneのやつ)のが分かる
% docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
<none>              <none>              361af20afb75        6 seconds ago       64.2MB
ubuntu              latest              72300a873c2c        2 weeks ago         64.2MB
# カスタムしたイメージを実行してみる
# 実行されたままになってプロンプトが帰ってこないはず
% docker run 361af20afb75  
# 別ターミナルで `docker ps` すると実行中のコンテナが確認できる
[別ターミナル]% docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
0f063dcd1361        361af20afb75        "/bin/sh -c 'while :…"   22 seconds ago      Up 21 seconds                           reverent_banach

参考

Dockerのコンテナを起動したままにする - Qiita https://qiita.com/reflet/items/dd65f9ffef2a2fcfcf30

なんやかんや公式ドキュメントは詳しい
run — Docker-docs-ja 17.06.Beta ドキュメント http://docs.docker.jp/engine/reference/commandline/run.html

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?