Docker初心者編
Docker勉強会に行ってきた
もくもく寺が主催しているDocker勉強会に参加してきました! 初心者編は技術書典5で大人気だった「マンガでわかるDocker②」を、作者の湊川あい@llminatoll さんと一緒に、マンガの内容に沿って実際に操作しながらハンズオンで学べる会。
中級編は@youchan(大崎瑶)さんによるDockerfileを書いてみようの会です。
このブログでは初心者編についてアウトプット。
Dockerって
仮想環境を立ち上げてmacでLINAXが起動できたりする。
- プロジェクトごとに環境を切り替えることができる。
- 冪同性がある
何度立ち上げても同じ環境である -> 冪同性がある
セーブされる時とセーブされない時がある -> 冪同性がない
docker run hello-worldでコンテナを起動してみよう
docker ps
で起動しているコンテナを表示します。
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
稼働しているコンテナがないため何も表示されません。
ここでdocker run hello-world
を実行します。
これによって、コンテナ作成、コンテナ起動、コンテナログインが行われます。
ちょっぴり解説↓
# hello-worldというイメージがないよ Unable to find image 'hello-world:latest' locally # イメージがなかったからdocker hubから勝手にダウンロードしてきたよ latest: Pulling from library/hello-world
コンテナから出るにはcontrolを押しながらp → qを押します。 exitでも出ることはできますが、その場合コンテナも停止してしまうので、停止したくないけど出たい場合に先ほどのコマンドを使います。
起動しているコンテナに入る
control + p → qでコンテナから出た場合、そのコンテナに再度入ることができます。
docker attach $コンテナ識別子$
docker runがやっていること
docker hubからイメージを取得
docker pull $imageの名前$
コンテナ生成
docker create -it $imageの名前$
コンテナ起動
docker start -a -i $コンテナ識別子$
(コンテナIDは一部のみでも識別される)
その他コマンド
コンテナ停止
docker stop $コンテナ識別子$
コンテナ削除
docker rm $コンテナ識別子$
NAMESとは
dockerが勝手につけてくれる名前。 変更することが可能。
docker rename $古いコンテナ名$ $新しいコンテナ名$
まとめ
本日はここまで! 次回はDockerfile、Docker composeについてまとめたいと思います。