#author("2019-01-11T03:15:19+00:00","","")
* dockerメモ [#g5d0a8d9]
#setlinebreak(on);

#TODO

#contents
-- 関連
--- [[dockerでサクッとNginx環境構築]]

** 各種操作 [#w7f564b8]
#html(<div style="padding-left:10px;">)

*** イメージの取得 [#mb294284]
#html(<div style="padding-left:10px;">)
#myterm2(){{
docker pull イメージ名[:タグ|@イメージのハッシュ値]
}}

例)
#myterm2(){{
docker pull centos:centos7
docker pull amazonlinux:2
}}
#html(</div>)

*** コンテナの削除 [#m7fdee40]
#html(<div style="padding-left:10px;">)
#myterm2(){{
docker rm コンテナID
}}
#html(</div>)

*** イメージのビルド [#o6562a46]
#html(<div style="padding-left:10px;">)
#myterm2(){{
docker build ./ -t イメージ名[:タグ]
}}
#html(</div>)

*** イメージの確認 [#y468ceac]
#html(<div style="padding-left:10px;">)
#myterm2(){{
docker image
}}
#html(</div>)

*** イメージの削除 [#l0778f0e]
#html(<div style="padding-left:10px;">)
#myterm2(){{
docker rmi イメージID
}}
#html(</div>)

*** コンテナの起動 [#t3be01a7]
#html(<div style="padding-left:10px;">)
#myterm2(){{
docker run -it イメージ名[:タグ]
}}
#html(</div>)

*** コンテナをデーモン起動 [#zb730d40]
#html(<div style="padding-left:10px;">)
#myterm2(){{
docker run -d イメージ名[:タグ]
}}

*** コンテナをデーモン起動しつつポートバインド [#j8a16f99]
#html(<div style="padding-left:10px;">)
#myterm2(){{
docker run -p 仮想サーバーのポート:コンテナのポート -d イメージ名[:タグ]
}}

#html(</div>)

*** デーモン起動したコンテナに入る [#x98c1b00]
#html(<div style="padding-left:10px;">)
#myterm2(){{
docker exec -it コンテナID /bin/bash
}}
#html(</div>)

*** 起動すると同時にコンテナに入る(exitするとコンテナは終了する) [#n00b9e36]
#html(<div style="padding-left:10px;">)
#myterm2(){{
docker run -it --rm イメージID /bin/bash
}}

例)
#myterm2(){{
docker run -it --rm amazonlinux:2 /bin/bash
docker run -it --rm centos:centos7 /bin/bash
}}
#html(</div>)

*** 動作中のコンテナを確認 [#yc6d6761]
#html(<div style="padding-left:10px;">)
#myterm2(){{
docker ps
}}
#html(</div>)

*** 停止しているコンテナを含めて確認 [#e371ca75]
#html(<div style="padding-left:10px;">)
#myterm2(){{
docker ps -a
}}
#html(</div>)

*** コンテナを停止 [#qe1ad9b1]
#html(<div style="padding-left:10px;">)
#myterm2(){{
docker container stop コンテナID
}}
#html(</div>)

#html(</div>)

** イメージをビルドする [#o866cce6]
#html(<div style="padding-left:10px;">)

ここではサンプルとして1秒毎にカウント表示するシェルを起動するコンテナイメージを作成する

*** Dockerfile の作成 [#f4f15357]
#html(<div style="padding-left:10px;">)
#mycode2(){{
FROM amazonlinux:2
#FROM centos:centos7

USER root

RUN yum install -y which

# amazonlinux2の時
# psコマンドインストール
RUN yum -y install procps
RUN yum install -y python3

# centos7の時
# ※IUS Community Project のリポジトリを追加する(Python3系はCentOS 7の標準yumリポジトリで提供されていない)
#RUN yum install -y https://centos7.iuscommunity.org/ius-release.rpm
#RUN yum install -y python36

RUN mkdir /myapp
COPY myapp.sh /myapp/
RUN chmod 755 /myapp/*.sh

CMD ["/myapp/myapp.sh"]
}}
#html(</div>)

*** アプリケーション(ここでは簡単なシェル)の作成 [#x0ecce04]
#html(<div style="padding-left:10px;">)
myapp.sh
#mycode2(){{
#!/bin/bash

i=0
while [ true ]; do
    i=`expr ${i} + 1`
    echo "i = ${i}"
    sleep 1
done
}}
#html(</div>)

*** イメージのビルド [#n0181f8f]
#html(<div style="padding-left:10px;">)
#myterm2(){{
docker build ./ -t myapp:latest
}}
#html(</div>)

*** ビルドしたイメージの確認 [#g1fb19e0]
#html(<div style="padding-left:10px;">)
#myterm2(){{
docker images
}}
#html(</div>)
#html(</div>)

トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS