More Related Content
Similar to Dockerでらくらく開発・運用を体感しよう
Similar to Dockerでらくらく開発・運用を体感しよう (20)
Dockerでらくらく開発・運用を体感しよう
- 12. Dockerのコマンド(1)
コマンド
概要
pull REPOSITORY
Docker Hub Registryからイメージを取り込む
images
手元にあるイメージの一覧
ps
コンテナの一覧
run IMAGE
イメージからコンテナを起動
start CONTAINER
コンテナを起動
stop CONTAINER
コンテナを停止
top CONTAINER
コンテナで実行中のプロセスの一覧
- 13. コンテナを起動する
• イメージを取り込む
$ sudo docker pull learn/tutorial
• コンテナ内でコマンドを実⾏行行する
$ sudo docker run learn/tutorial echo ʼ’Hello, Docker!ʼ’
• コンテナ内でシェルを実⾏行行する(ログインしてみる)
$ sudo docker run –it learn/tutorial /bin/bash
- 14. コンテナをちょっと加⼯工
• pingをインストール
$ sudo docker run learn/tutorial apt-‐‑‒get install –y ping
• コンテナを確認
$ sudo docker ps –a
• イメージの作成
$ sudo docker commit CONTAINER makinog3/ping
• 新しいイメージでコンテナを起動
$ sudo docker run makinog3/ping ping www.google.com
- 15. Dockerのコマンド(2)
コマンド
概要
commit CONTAINER
REPOSITORY
コンテナからイメージを作成
save IMAGE > TARファイ
ル
イメージをファイルに出力する
load < TARファイル
ファイルをイメージとして取り込む
export CONTAINER > TAR
ファイル
コンテナをファイルに出力する
import URL REPOSITORY
ファイルからイメージを取り込む
- 18. コンテナでWebサーバ
• Nginxをコンテナにインストール
$ sudo docker pull ubuntu
$ sudo docker run ubuntu apt-‐‑‒get install –y nginx
$ sudo docker commit CONTAINER nginx1
• Nginxを起動
$ sudo docker run -‐‑‒d -‐‑‒p 80:80 nginx1 /usr/sbin/
nginx -‐‑‒g 'daemon off;'
• AWSのセキュリティグループ修正
• 80番ポートを公開する
コンテナの80番
ポートをホストの
80番に割り当てる
コンテナはフォア
グランドで動くプ
ロセスがいないと
停止してしまう
- 21. Dockerfileの命令令
命令
概要
FROM IMAGE
元になるイメージの指定
MAINTAINER MAINTAINER
作成者
RUN COMMAND
コマンドの実行
ADD FILE DIRECTORY
ファイル、ディレクトリの追加
CMD
コンテナの実行コマンド
ENTRYPOINT
コンテナの実行コマンド
WORKDIR
作業ディレクトリの指定
ENV
環境変数の指定
USER
実行ユーザの指定
EXPOSE
ポートの公開(利用するポートの指定)
VOLUME
ボリューム(ホストのディレクトリ)のマウント
- 23. イメージの作成・起動
• Docerfile等を書く
$ vi Dockerfile
$ vi index.html
• イメージの作成
$ sudo docker build -‐‑‒t nginx2 .
$ sudo docker images
• コンテナを起動
$ sudo docker run -‐‑‒d -‐‑‒p 80:80 nginx2 /usr/sbin/
nginx
- 27. まとめ
• やったこと
• コンテナ技術、Dockerの基礎
• Amazon EC2でDockerを使った環境構築
• Elastic BeansTalkへのデプロイ
• やってないこと
• レジストリへのイメージの登録(push)
• AWS以外のコンテナサービスの利利⽤用
• Google Compute Engine、Azule
• Amazon EC2 Container Service
• ほか、いっぱい