シンプルな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 && 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`