とりあえずDocker触ってみよう → の、フォロー

今回持ち帰るべき認識 Dockerコンテナは使い捨て

使い捨て

Dockerのインストール

yum -y install docker-io yum -y install epel-release

Dockerのバージョン確認

docker -v

もしくは

docker version

Dockerの起動

systemctl start docker systemctl enable docker

任意のDockerイメージを取得する。

CentOS6の場合

docker pull centos:centos6

CentOS7の場合

docker pull centos

もしくは

docker pull centos:latest

Debian8の場合

docker pull debian

ubuntuの場合

docker pull ubuntu

Arch Linuxの場合

docker pull base/archlinux

※以降はそれぞれのDockerイメージに置き換えて進めてください。

取得したDockerイメージの一覧を確認

docker images

Dockerコンテナを起動

docker run -it centos

centosイメージでコンテナを作成して、コンテナ内でコマンドを入力している状態 プロンプトが変化する 今回はイメージ名(centos)を指定したが、イメージIDを指定しても起動可能

※docker runだけで、-itを付与しないとコンテナを停止状態で作成するのみ (内部的には、「起動してそのまま何もせず終了する」コンテナを作成している) Ctrl + P -> Ctrl + Qで起動したままコンテナから抜ける

起動中のコンテナに再度繋ぐ

docker attach [起動中コンテナのimageID]

Dockerコンテナ内でexitをすると、コンテナを停止させて抜ける 普通のログアウト感覚で使うとコンテナが停止してしまうので注意

起動中のコンテナを確認する

docker -ps

exitで出てもコンテナ自体は停止状態のまま残る

停止状態のコンテナも確認する

docker ps -a

Dockerコミットする(新しいイメージを作成する)

1.起動中のDockerコンテナから抜ける Ctrl + P -> Ctrl + Q

2.docker commit コマンドでイメージを作成する

docker commit [コンテナ名 or ID] [イメージ名]:[タグ]

コンテナの情報を見る

docker inspect <コンテナID>

kazuhito_mさんのコンテナを停止させたりもにょもにょするまとめ

コンテナを止める

(コンテナプロセスにSIGTERMを送信して一定時間経過後にSIGKILLを送信、デフォルトは10秒後)

docker stop

コンテナを止める

(直ちにSIGKILLを送信)

docker kill

停止状態のコンテナを削除

docker rm

起動状態のコンテナも削除

docker rm -f

全部のコンテナをまとめてrm

docker rm -f `docker ps -aq`

ひよこ大佐さんのDockerまとめ

まとめると、 ・Docker(コンテナ型仮想化)は仮想化技術のうちの一つだよ!

・DockerはOSを仮想化して、箱をつくるよ!

・docker pullコマンドでOSのイメージをdocker hubってところからダウンロードできるよ!

・docker runコマンドで新しい箱を作ってコマンドを実行させられるよ!

・docker attachコマンドで箱の中にはいれるよ!

・Ctrl+P,Ctrl+Qで箱から出られるよ!

・箱の中でexitすると箱もとまるよ!

・docker rmすると止まった箱を壊せるよ!

・docker psコマンドで動いてる箱を確認できるよ!

・docker ps -aコマンドで止まっている箱もふくめてすべての箱を確認できるよ

・docker hub … いろんな企業や団体が、箱のもとになるイメージを置いてるよ! (CentOSの箱、Ubuntuの箱、nginxの箱などなど)

・pullで持ってくるのは「イメージをもってくる」、runは「イメージから箱をつくる」感じです

・docker saveでtarファイルとして保存、別のマシンでdocker loadすることで移植できる??

・sudo docker run -it XXXX --name すきななまえ とかやると管理が楽かも

(なんだか折りたたみのsummaryをうまく読んでくれないです)

ひよこ大佐さんのdocker commit手順まとめ

・docker runして新しい箱をimageから作る ・なんかいろいろやる(slコマンドインストールしたり) ・Ctrl+P,Ctrl+Qで抜ける ・docker commitそい

そい

その他

自分の環境でやってみる人は、Dockerのインストールから必要です。 以下のコマンドでインストール~起動してください。

yum -y install docker systemctl start docker

今日「あえて触れなかった」こと

  • dockerhub
  • Dockerfile
  • docker-compose
  • (Dockerにおける)network

コマンドを復習したいかたはこちら

from hiyokotaisa さん https://qiita.com/wMETAw/items/34ba5c980e2a38e548db 

ファイルいっぱい作るコマンド(余談)

for i in {1..10}; do touch "test_$i.txt"; done
touch test_{1..10}.txt