edo1z blog

プログラミングなどに関するブログです

Dockerの使い方(2)

シンプルなWEBアプリを構築してローカルブラウザで確認する。

$ docker run -dP training/webapp python app.py
$ docker ps -l

PORTSに下記が書いてある。 0.0.0.0:32768->5000/tcp コンテナの5000ポートがdockerホストの32768に割り当てられている

$ docker-machine ip
192.168.99.100

ブラウザで192.168.99.100:32768を見るとHello Worldが表示された。

割り当てるポートを明示する場合

$ docker run -d -p 8080:5000 training/webapp python app.py

docker portで割り当て確認できる

$ docker port loving_snyder
5000/tcp -> 0.0.0.0:8080

コンテナのログを見る

 $ docker logs -f loving_snyder
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
192.168.99.1 - - [28/Mar/2017 11:37:56] "GET / HTTP/1.1" 200 -
192.168.99.1 - - [28/Mar/2017 11:37:56] "GET /favicon.ico HTTP/1.1" 404 -
192.168.99.1 - - [28/Mar/2017 11:37:57] "GET / HTTP/1.1" 200 -
192.168.99.1 - - [28/Mar/2017 11:37:58] "GET / HTTP/1.1" 200 -
192.168.99.1 - - [28/Mar/2017 11:37:58] "GET / HTTP/1.1" 200 -
192.168.99.1 - - [28/Mar/2017 11:37:59] "GET / HTTP/1.1" 200 -
192.168.99.1 - - [28/Mar/2017 11:37:59] "GET / HTTP/1.1" 200 -
192.168.99.1 - - [28/Mar/2017 11:38:14] "GET /users HTTP/1.1" 404 -

Dockerfileからdocker imageを作り、リポジトリに上げる。

$ mkdir hoge
$ cd hoge
$ vim Dockerfile

FROM ubuntu:16.04
MAINTAINER hoge<hoge@gmail.com>
RUN apt-get update &amp;&amp; apt-get install -y ruby ruby-dev

$ docker build -t hoge/ruby:v1 .
$ docker iamges

タグつける
$ docker tag  c36bf8d96a58 hoge/ruby:devel

ダイジェスト値
$ docker images --digests

$ docker login --username=hoge --email=hoge@gmail.com
$ docker push hoge/ruby

不要なコンテナを全部削除する。

停止中コンテナの一括削除

$ docker rm `docker ps -a -q`