初めてのDocker利用-その1 ~コンテナ立ち上げからpythonのinstallまで~
MacにインストールしたDockerの利用方法がよくわからなかったので、記録用に残すことにした。
ここではdockerのイメージ取得からpythonが使用できるようになるまでの過程を書いていこうと思う。
注意:ここではMacにDockerがインストールされた後の処理を書いていくので、Dockerのインストールは他の記事を参考にしてください。
イメージ取得
まずイメージを取得する。取得できるイメージはDocker Hubで確認することができる(sign inが必要かもしれない)。今回はUbuntuのイメージを取得しようと考えていたのでDocker Hubのリンク(https://hub.docker.com/_/ubuntu)を参考に以下のコマンドラインを走らせて"ubuntu 23.10"のイメージを取得した。
$ docker pull ubuntu:23.10
コンテナ立ち上げ
次にコンテナを立ち上げる。打ち込むコマンドの文法は
$ docker container run [OPTIONS] IMAGE [COMMAND] [ARG...]
今回使用するOPTIONは-itd --name
とする。の部分はOPTIONの-i
と -t
と-d
をつなげたもので、--name
はコンテナに名前を割り当てるためのOPTIONである。OPTIONの後に、ubuntu2310 ubuntu:23.10
と続ける。ubuntu2310
はOPTIONの--name
でコンテナにつける名前を表す。そしてubuntu:23.10
はコマンド文法のIMAGE
に対応する。
以上をまとめて、コマンドラインでは
$ docker container run -itd --name ubuntu2310 ubuntu:23.10
を実行した。このコマンドラインが実行された後では作成されたubuntu2310
コンテナは起動しているので、コマンドラインでdocker ps
を実行すると
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fbd643fda14c ubuntu:23.10 "/bin/bash" 28 minutes ago Up 28 minutes ubuntu2310
となり、ubuntu2310
コンテナが起動していることが確認できる。
実行中のコンテナ内でコマンドを実行できるようにする
次に実行中のubuntu2310
コンテナの中に移動。してコマンドを実行できるようにする。実行するコマンドはdocker container exe
コマンドで、文法は
$ docker container exec [OPTIONS] CONTAINER COMMAND [ARG...]
となる。この文法において、CONTAINER
とCOMMAND
の部分は先ほど実行したdocker ps
コマンドの対応している部分をそのまま代入してやればよい。今回の場合、実際にコマンドラインで実行する時にはOPTION
の部分を-it
、CONTAINER
の部分をubuntu2310
COMMAND
の部分を/bin/bash
とする。つまり、今回terminalに打ち込んだコマンドは以下のようになる。
$ docker container exec -it ubuntu2310 /bin/bash
このコマンドを実行したのち、terminalは
root@fbd643fda14c:/#
のような入力面に切り替わる。これでubuntuが使えるようになった。
ubuntu内部でpythonをインストールするまで
ubuntuにpythonをinstallするパートである。まず
root@fbd643fda14c:/# apt update
を実行する。次にpythonをインストールする。今回はpython3系をinstallすることにした。
root@fbd643fda14c:/# apt install python3
これでpythonが使えるようになった。実際にpythonのversionを確かめると
root@fbd643fda14c:/# python3 --version
Python 3.11.4
と出力され、pythonが使えるようになっている。
以上が今回の記事の内容である。自分が気になったこととして、sudoパッケージのインストールについてやVSCodeのコンテナ接続についてまだわかっていない部分があるので記事にする予定である。
追記
2023年9月28日にpython3を上記の方法でインストールしようとしたところ途中で「住んでいる地域」と「time zone」を入力する必要があった。また、pythonのバージョンもアップデートされたようで、
root@fbd643fda14c:/# python3 --version
Python 3.11.5
という出力がされた。
Discussion