No.500


【Docker】Docker内にDockerをインストールする②【Ubuntsu】

インストールと問題解決方法をメモ(apt版)

関連: Docker内にDockerをインストールする

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