はじめに
この記事では、docker for beginersを実行していきます。
必要な事前準備はDockerのインストールのみです!
入門
コンピュータのセットアップ
下記のコマンドを実行してDocker
を正しくインストールできているか確認します。
1 | docker run hello-world |
以下のようなメッセージが表示されれば成功です。少し時間がかかる場合があります。
1 | Hello from Docker! |
イメージhello-world
をからコンテナを生成して起動しています。初回実行時は、イメージが存在しないためレジストリからイメージを自動でダウンロードしています。
Hello World
Busyboxで遊ぶ
イメージbusybox
をダウンロードします。
1 | docker pull busybox |
下記のコマンドでホスト上にあるイメージの一覧を確認できます。
1 | docker images |
Docker Run
イメージからコンテナを作成し、実行してみます。
1 | docker run busybox |
一見、何も起きなかったように見えますが、コンテナが起動し空のコマンドを実行してから終了しました。
次のようにすると、コンテナ上でコマンドを実行してから終了します。
1 | docker run busybox echo "hello from busybox" |
次のコマンドで起動中のコンテナを確認できます。
1 | docker ps |
先ほど実行したコンテナはすでに終了しているので、このコマンドでは確認できません。
終了したコンテナも含めて確認するには以下のコマンドを実行します。
1 | docker ps -a |
Dockerを利用したWebアプリケーション
静的サイト
デモ用に作成されたWebサイトを起動します。
1 | docker run --rm prakhar1989/static-site |
--rm
オプションをつけることで、コンテナ終了時に自動でコンテナを削除することができます。
さて、実はこれではポートの割り当てをしていないためWebサイトにアクセスすることができません。Ctrl+C
等で、一旦終了して実行方法を変えてみましょう。
- ターミナルが実行中のコンテナに接続されないようにする
- コンテナに名前をつける
- (ランダムに)ポートを割り当てる
1 | docker run -d -P --name static-site prakhar1989/static-site |
これでhttp://localhost[PORT]
でアクセすることができます。
以下のようにポートを指定することも可能です。
1 | docker run -p 8888:80 prakhar1989/static-site |
以下のコマンドでコンテナを停止することができます。--rm
オプションで起動していた場合は、同時に削除されます。
1 | docker stop static-site |
Docker Iamges
ローカルで使用可能なDocker
のイメージ一覧を確認します。
1 | docker images |
docker pull
する際に、タグ(バージョン)を指定することができます。
1 | docker pull ubuntu:18.04 |
初めてのイメージ
次に自分でイメージを作成します。
1 | git clone https://github.com/prakhar1989/docker-curriculum.git |
Dockerfile
Dockerfileを作成します。
1 | vi Dockerfile |
1 | FROM python:3 |
1 | docker build -t yourusername/catnip . |
記事情報
- 投稿日:2020年6月15日
- 最終更新日:2020年7月4日