🐡

Docker 上の Ubuntu 22 で Docker を動かしたかった

2024/03/15に公開

目的

  • (1) Docker で Ubuntu サーバーを起動し、(2) その Ubuntu 上で Docker をインストール
  • (3) docker -v から docker run するところまで

結果

(3) において、ulimit のせいで Docker daemon の起動ができず.
docker -v はできるけど、docker pull などはできない.
また今度.

(1) Docker で Ubuntu サーバー構築

Ubuntu 22.04 をインストールする.

Dockerfile 作成

FROM ubuntu:22.04

LABEL version="1.0"
LABEL description="Ubuntu 22.04 Server"
RUN apt -y update

WORKDIR /root

ビルド / build

docker build -t ubuntu-sv:latest --no-cache .

起動 & コンテナに入る / run

docker run -it ubuntu-sv:latest bash

(2) Docker をインストール

こちらの "1. aptレポジトリを使ってDockerをインストールする" のやり方
https://kinsta.com/jp/blog/install-docker-ubuntu/

Dockerfile 更新

Ubutnu に入って操作し、それを都度 Dockerfile にメモした.
結果と、つまずいたところのみ載せる.
前項の Dockerfile に以下の内容を追記.
追記する場所は、"WORKDIR /root" の前、"RUN apt -y update" の後.

# Install tools
# ping コマンド等便利機能を使うために必要だった.
RUN apt -y install iputils-ping net-tools vim

# Install Docker
RUN apt -y install ca-certificates curl gnupg lsb-release
RUN mkdir -p /etc/apt/keyrings
RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
RUN chmod a+r /etc/apt/keyrings/docker.gpg
RUN echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
RUN apt update
RUN apt -y install docker-ce docker-ce-cli containerd.io

build & run

docker build -t ubuntu-sv:latest --no-cache .
docker run -it ubuntu-sv:latest bash

これで、Docker のインストールは完了している.

(3) docker -v から docker run までする

docker -v
# Output: Docker version 25.0.4, build 1a576c5
docker pull ubuntu:latest

上記はエラー.
メッセージは、

Cannot connect to the Docker daemon
at unix:///var/run/docker.sock.
Is the docker daemon running?

Docker daemon が走っていない様子.
Docker では、基本的に systemctl などのコマンドが使えない.
https://engineering.nifty.co.jp/blog/6523

Discussion