Docker のインストール2023年10月29日 | |
はじめにUbuntu 20.04 LTS に Docker をインストールする。こちら を参考にする。 Docker のインストール前準備
$ sudo apt update
$ sudo apt install \
ca-certificates \
curl \
gnupg \
lsb-release
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
$ echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo apt update
インストール $ sudo apt-get install docker-ce docker-ce-cli containerd.io テスト $ sudo docker run hello-world sudo なしで使えるようにするsudo なしで docker コマンドを使えるようにする。 $ sudo usermod -a -G docker ユーザー 再起動 Ubuntu イメージの利用Ubuntu イメージを取得してみる。 $ docker image pull ubuntu:20.04 $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu 20.04 825d55fb6340 2 hours ago 72.8MB コンテナを起動してコマンドを実行する。 $ docker run ubuntu:20.04 ls -l total 48 lrwxrwxrwx 1 root root 7 Apr 5 04:59 bin -> usr/bin drwxr-xr-x 2 root root 4096 Apr 15 2020 boot drwxr-xr-x 5 root root 340 Apr 6 00:56 dev drwxr-xr-x 1 root root 4096 Apr 6 00:56 etc drwxr-xr-x 2 root root 4096 Apr 15 2020 home lrwxrwxrwx 1 root root 7 Apr 5 04:59 lib -> usr/lib lrwxrwxrwx 1 root root 9 Apr 5 04:59 lib32 -> usr/lib32 lrwxrwxrwx 1 root root 9 Apr 5 04:59 lib64 -> usr/lib64 lrwxrwxrwx 1 root root 10 Apr 5 04:59 libx32 -> usr/libx32 drwxr-xr-x 2 root root 4096 Apr 5 04:59 media drwxr-xr-x 2 root root 4096 Apr 5 04:59 mnt drwxr-xr-x 2 root root 4096 Apr 5 04:59 opt dr-xr-xr-x 451 root root 0 Apr 6 00:56 proc drwx------ 2 root root 4096 Apr 5 05:02 root drwxr-xr-x 5 root root 4096 Apr 5 05:02 run lrwxrwxrwx 1 root root 8 Apr 5 04:59 sbin -> usr/sbin drwxr-xr-x 2 root root 4096 Apr 5 04:59 srv dr-xr-xr-x 13 root root 0 Apr 6 00:56 sys drwxrwxrwt 2 root root 4096 Apr 5 05:02 tmp drwxr-xr-x 13 root root 4096 Apr 5 04:59 usr drwxr-xr-x 11 root root 4096 Apr 5 05:02 var コンテナリストを表示する $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9cb0a516233a ubuntu:20.04 "ls -l" 4 seconds ago Exited (0) 2 seconds ago interesting_kapitsa コンテナはイメージから作成され、一度実行すると残る。 コンテナの削除 $ docker rm interesting_kapitsa コンテナを起動して中に入る$ docker run -it ubuntu:20.04 /bin/bash root@c2430155105c:/# exit で抜ける。 再度中に入る $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c2430155105c ubuntu:20.04 "/bin/bash" About a minute ago Exited (0) 23 seconds ago peaceful_vaughan $ docker start peaceful_vaughan $ docker attach peaceful_vaughan root@c2430155105c:/# コンテナを実行したまま抜けるには、Ctrl+P、Ctrl+Q を入力する。 コンテナを止める $ docker stop peaceful_vaughan Jupyter Notebook 環境を作るUbuntu コンテナの中で以下のように実行する。 (コンテナの中) # apt update # apt install python3 # apt install python3-pip # pip install jupyterlab JupyterLab を起動してアクセスしたいところではあるが、コンテナにあとからポートの指定 (ポートフォワーディング) をすることができないので、コンテナからイメージを作る。 $ docker commit peaceful_vaughan jupyterJupyterLab 起動 $ docker run -p 8888:8888 -it jupyter /bin/bash (コンテナの中) # jupyter lab --ip=0.0.0.0 --allow-root http://127.0.0.1:8888/lab?token=... をコピーして、ホストのブラウザで JupyterLab につながれば OK。 トークンを指定することもできる。 # jupyter lab --ip=0.0.0.0 --ServerApp.token="test" --allow-root http://localhost:8888/lab?token=test で JupyterLab につながれば OK。 一度認証したらクッキーが効くので注意。 設定の保存(コンテナの中) # apt install vim # vim config.py config.py c.ServerApp.ip = "0.0.0.0" c.ServerApp.token = "test" c.ServerApp.open_browser = False 実行 # jupyter lab --config config.py --allow-root イメージを作る名前を変えておく。 $ docker tag jupyter jupyter_tag $ docker rmi jupyter 作業ディレクトリを作成
$ mkdir jupyter $ cd jupyter Dockerfile を作成 $ vi Dockerfile ここではテストのために Ubuntu イメージそのままを作る。 Dockerfile FROM ubuntu:20.04 イメージの作成 $ docker build -t jupyter . イメージができれば OK。 削除 $ docker rmi jupyter Jupyter 環境の Dockerfile
FROM ubuntu:20.04
USER root
RUN apt-get update --yes && \
apt-get install --yes --no-install-recommends \
python3 \
python3-pip \
vim && \
apt-get clean && \
pip install jupyterlab
ADD ./config.py /config.py
CMD jupyter lab --config config.py --allow-root
ログを見るには次のようにする。 $ docker logs compassionate_gould ルートで実行されるのを避けるため、ユーザーを設定する。 Dockerfile
FROM ubuntu:20.04
USER root
RUN apt-get update --yes && \
apt-get install --yes --no-install-recommends \
python3 \
python3-pip \
vim && \
apt-get clean && \
pip install jupyterlab
RUN useradd -s /bin/bash -m jovyan
USER jovyan
WORKDIR /home/jovyan
ADD ./config.py /home/jovyan/config.py
CMD jupyter lab --config config.py
| |
| PENGUINITIS | |