便利そう
でもコマンド多くて覚えきれないわ あとで固定ページとしてまとめよう。。
イメージを検索 docker search centos | more
イメージを公式から持ってくる docker pull centos
持っているイメージを表示する docker images
イメージの詳細を見る docker inspect centos(:latest) docker inspect {IMAGE ID}
イメージの削除 docker rmi {IMAGE ID}
コンテナ作成
コンテナを作ってechoする docker run centos echo "hello world"
実行中のコンテナ一覧を見る docker ps
実行し終わったコンテナ一覧を見る docker ps -a
コンテナ削除 docker rm {CONTAINER ID}
実行中のコンテナを弄る -d バックグランドで動かす docker run -d centos free -s 3
docker psで確認できる
出ているログを確認 docker logs {CONTAINER ID}
3秒ごとにメモリの表示をみれる docker attach --sig-proxy=false {CONTAINER ID}
止める場合 docker kill {CONTAINER ID}
docker psで止まっているのがわかる
止めていたのを起動する場合 docker start {CONTAINER ID}
コンテナのイメージを作る コンテナの中で作業する docker run -i -t centos /bin/bash
-i インタラクティブ -t ターミナル
exitで抜けて実行しているのが停止する
docker ps -aで確認してそのイメージをつくる docker commit {CONTAINER ID} {image名}
docker run -i -t {image名} /bin/bash で先ほど作ったイメージを起動できる
Dockerfileを作る
vi Dockerfile FROM centos MAINTAINER Gen astel astel@gmail.com
RUN echo "now building" CMD ["echo","now running"]
docker build -t astel/echo . astel/echo が{image名} .はDockerfileがある場所を示す
docker imagesで今作ったものが確認できる
docker run astel/echo で now running と表示される
dockerでwebサーバを立ち上げる
centos7だと色々面倒だったのでcentos6を持ってくる docker pull centos:centos6
cat Dockerfile FROM centos:centos6 MAINTAINER Gen astel astel@gmail.com
RUN yum install -y httpd ADD ./index.html /var/www/html/ EXPOSE 80 CMD ["/usr/sbin/httpd","-D","FOREGROUND"]
cat index.html test
docker build -t astel/httpd . docker run -p 8080:80 -d astel/httpd
docker psで起動しているのが確認できる またdokcerのip:8080で今起動しているdockerのコンテナのwebにアクセスできる
docker indexにpush docker indexでサインアップ
ログインする docker login docker push astel/httpd