No.498


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

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

 基本的にdocker公式ページのUbuntu向けのページに従えばよい。

Docker Engine インストール(Ubuntu 向け)

 インストールは便利スクリプトを使うのが楽でいい。GPGキーのインストールなども行う必要が無い。

便利スクリプトを使ったインストール


問題: ulimit: error setting limit

 docker実行時に下記のエラーが出力されるケースがある。というかされる。

ulimit: error setting limit (Operation not permitted)

 docker起動設定ファイル中の ulimit オプションが干渉して悪さしている。

参考 /etc/init.d/docker: 62: ulimit: error setting limit (Invalid argument) Problem

 docker実行前に設定ファイルをコメントアウトしてしまえばOK。

sed -i 's/ulimit -Hn/# ulimit -Hn/g' /etc/init.d/docker

参考: 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://get.docker.com -o get-docker.sh && sh get-docker.sh && sed -i 's/ulimit -Hn/# ulimit -Hn/g' /etc/init.d/docker && service docker start

RUN useradd -m -s /bin/bash -u ユーザーID アカウント名 && usermod -aG docker アカウント名 && echo "アカウント名   ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers