Ubuntuサーバーの環境自体を自分のPCの中にほしいときはDockerがいいわけです。Ubuntuサーバーの中にDocker環境をつくる方法は巷にいろいろと情報がありますが、Ubuntuサーバー自体をDocker環境で構築する情報がなかなかないので、今回は後者を解説しております。
ubntuのイメージをdockerhubから取得します。2021-06-15現時点で最新のubuntuはubuntu:20.04
なので、それを入れることにします。また現時点の最新を入手したい場合はubuntu:latest
で指定してもよいです。
$ docker pull ubuntu:20.04
(または、$ docker pull ubuntu:latest)
本当にダウンロードできたか確認します。同じものなのでどっちか消してよいです。
$ docker images | grep ubuntu
ubuntu 20.04 7e0aa2d69a15 7 weeks ago 72.7MB
ubuntu latest 7e0aa2d69a15 7 weeks ago 72.7MB
イメージはあっさり取得できます。
ダイジェストやタグなどで細かいバージョンを取得できますが、ここでは割愛します。
イメージを立ち上げます。今回はubuntuというコンテナ名でubuntu:20.04というイメージを立ち上げます。
$ docker run -it -d --name ubuntu ubuntu:20.04
7d007a91003c0cad7510381f966e27204fb733d9cad6459266eb3373f13d0430
プロセスが立ち上がっていればOK。
$ docker ps | grep ubuntu
7d007a91003c ubuntu:20.04 "/bin/bash" About a minute ago Up About a minute ubuntu
これでubntuは立ち上がってます。
最後にdockerにログインします。
$ docker exec -it ubuntu /bin/bash
root@7d007a91003c:/#
これでubuntuOSにログインした状態になります。ここまでの構築はめっちゃ早い。
とはいえ、ここまでのdockerの起動はちょっとした動作確認などでは重宝しますが、もろもろの設定変更やテストなどはdockerが起動している間だけしか保つことができません。なので、設定したファイルの保存方法やもっと細かい使い方を別項で説明してゆきます。
コンテナ名で指定して設定情報を確認します。
$ docker inspect ubuntu
例えばマウント情報だけを見たいときはgrepとか使えばいいです。
$ docker inspect ubuntu | grep Mounts
"Mounts": [
{
"Type": "bind",
"Source": "/tmp/source/target",
"Destination": "/app",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
],
停止
$ docker stop [DOCKER-NAME]
ログインした時点でrootになっているのでapt-get update
を実行してみます。
# apt-get update
うまく実行できたら、適当なパッケージを入れてみましょう。
# apt-get install apache2
うまく入りました。
apacheを入れると/var/www/html
というディレクトリが作成されます。これらにvolumeやmountでホストマシンのディレクトリを当ててあげる作業をしたりします。