とりあえずDocker触ってみよう → の、フォロー
- スピーカー: Takeshi@インフラ系の人 さん
- サポーター: kazuhito_m さん
ひよこ大佐 さん
今回持ち帰るべき認識 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 すきななまえ とかやると管理が楽かも
ひよこ大佐さんの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