No.500
【Docker】Docker内にDockerをインストールする②【Ubuntsu】
インストールと問題解決方法をメモ(apt版)
UbuntuへのDockerのインストールはaptを使ってインストールする方法もある。これだと docker-cli
だけインストールすることができるので、クライアント起動だけでよい場合には便利。
基本的にdocker公式ページのUbuntu向けのページに従えばよい。
Docker Engine インストール(Ubuntu 向け)
インストールはリポジトリを利用したインストールを使う。
クライアントだけインストールするなども便利だが、リポジトリ経由のためアップデートが楽なのも利点としてあげられる。
問題: The repository does not have a Release file.
dockerインストール時に下記のエラーが出力されるケースがある。というかされる。
E: The repository 'https://download.docker.com/linux/debian stable' does not have a Release file.
stableリリースがないとのことなので、 focal stable
に変更してやればOK。
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu focal stable" | sudo tee /etc/apt/sources.list.d/docker.list
参考: Docker入りDockerコンテナ用Dockerfile
というわけでコピペ用にDockerfileをメモ。
権限問題解決のために実行ユーザーをsudoできるようにしているので、不要なら最終行を削除すること。
RUN apt-get update -y \
&& apt-get install -y \
ca-certificates \
curl \
gnupg \
lsb-release \
&& rm -rf /var/lib/apt/lists/*
RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
RUN echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu focal stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
RUN apt-get update -y \
&& apt-get install -y \
docker-ce-cli \
docker-ce \
containerd.io \
&& rm -rf /var/lib/apt/lists/*
RUN useradd -m -s /bin/bash -u ユーザーID アカウント名 && usermod -aG 任意のグループ(www-data など) アカウント名 && echo "アカウント名 ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers