概要
今まで、VirtualBoxとかでいいじゃん。VPSでいいじゃんと思ってました。
会社でDockerを触ってみたら、思いの外便利だったので、ちょっと使ってみたいと思います。
環境
MacBookを使ってやってみます。
内容はHighSierra 10.13.2
Macbook 12-inch Early 2016
1.1GHz Core m3
メモリ 8GB
という状況
インストール
brewで入れればOK
$ brew cask install docker
これで入る。
入ったらアプリになってるのでランチパッドからDockerを起動
権限が必要なのでパスワードが要求されるので、入れてやる。
updateがあるらしいので、受け入れた。
ubuntuさわってみるか
$ docker run -it --rm ubuntu:latest /bin/bash
root@3e04fa26ef15:/# ls
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
root@3e04fa26ef15:/# cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.3 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.3 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial
これでもうubuntuがさわれる
--rmオプションいれてるのでexitすれば、コンテナ消えてきれいさっぱり
centosさわってみるか
$ docker run -it --rm centos:latest /bin/bash
Unable to find image 'centos:latest' locally
latest: Pulling from library/centos
85432449fd0f: Pull complete
Digest: sha256:3b1a65e9a05f0a77b5e8a698d3359459904c2a354dc3b25ae2e2f5c95f0b3667
Status: Downloaded newer image for centos:latest
[root@c4839eb88252 /]# ls
anaconda-post.log dev home lib64 mnt proc run srv tmp var
bin etc lib media opt root sbin sys usr
[root@c4839eb88252 /]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
こっちも--rmオプションいれてるのでexitすればきれいさっぱり
簡単すぎる
まともに利用する場合の手順メモ
あたらしいコンテナつくって起動、名前はhogehogeにしてこれであとからアクセスする
$ docker run -it --name=hogehoge ubuntu:latest /bin/bash
コンテナにログイン中に抜ける方法
control + P control + Q
起動中のコンテナを調べる
$ docker ps
停止中も含めて全部調べる
$ docker ps -a
起動中のコンテナのコマンドにアクセスする(hogehogeは名前、psで確認したコンテナIDでもいい)
$ docker attach hogehoge
attach中のコンテナを止める
exit打つとよさげ
ubuntu@[id] # exit
detach中にコンテナを止める
$ docker stop hogehoge
停止中のコンテナを再度起動する
$ docker start hogehoge
起動しつつさらにattachもする
$ docker start -a hogehoge
停止中のコンテナを消す
$ docker rm hogehoge
起動しているコンテナでなにか別のコマンドを走らせる
$ docket exec hogehoge [何らかのコマンド]
dockerにログインしなくても、いろいろとできました。
おぉ便利と思ったわけだが
とりあえずなにかしたいことはないな・・・いまのところ。