Skip to content

Latest commit

 

History

History
256 lines (174 loc) · 6.2 KB

install-docker.md

File metadata and controls

256 lines (174 loc) · 6.2 KB

Docker, Docker Compose のインストール

目次

  1. パッケージ
  2. Rootless パッケージ
  3. Rootless スクリプト
  4. BuildKit の有効化
  5. 参考

Docker, Docker Compose のインストール [パッケージ]

apt パッケージのインデックスを更新

sudo apt-get update

HTTPS 経由でリポジトリを使用できるようにする

sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

Docker の公式 GPG キーを追加

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

リポジトリをセットアップ

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Docker エンジンをインストールする

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

docker グループの作成

sudo groupadd docker

ユーザーを docker グループに追加

sudo usermod -aG docker $USER

再ログインする

以上でセットアップは完了です


Docker(Rootless mode), Docker Compose のインストール [パッケージ]

apt パッケージのインデックスを更新

sudo apt-get update

HTTPS 経由でリポジトリを使用できるようにする

sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

Docker の公式 GPG キーを追加

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

リポジトリをセットアップ

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Docker エンジンをインストールする

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

root 以外のユーザーとしてデーモンをセットアップする

dockerd-rootless-setuptool.sh install

以上でセットアップは完了です


Docker(Rootless mode), Docker Compose のインストール [スクリプト]

1 Docker (Rootless モード)のインストール

これにより、Docker デーモンとコンテナを root 以外のユーザが実行できるようになります

uidmap のインストール

sudo apt install -y uidmap

ワンライナーでの Docker のインストール

root ユーザーで実行しないでください

curl -fsSL https://get.docker.com/rootless | sh

Docker コマンドを使えるようにする

スクリプトが終了すると下のようなものを.bashrcにコピペするよう促されるので~/.bashrcファイルの最後に追加する
以下は例です

export PATH=/home/$USER/bin:$PATH
export DOCKER_HOST=unix:///run/user/1000/docker.sock

systemd

systemd unit ファイルは~/.config/systemd/user/docker.serviceにあります

systemctl --user start docker
systemctl --user enable docker
sudo loginctl enable-linger $(whoami)

コマンドライン補完のインストール

sudo curl \
   -L https://raw.githubusercontent.com/docker/cli/master/contrib/completion/bash/docker \
   -o /etc/bash_completion.d/docker

ターミナルを再読込する

ターミナルを閉じて新しいものを開くか、現在のターミナルで以下のコマンドを実行して下さい

source ~/.bashrc

インストールを確認

docker -v
docker ps

2 Docker Compose のインストール

以下のコマンドは例ですのでCompose リポジトリのリリースページを確認して、> URL を修正して下さい

Docker Compose の最新版をダウンロード (v2.10.0 の場合)

curl \
    -L https://github.com/docker/compose/releases/download/v2.10.0/docker-compose-`uname -s`-`uname -m` \
    -o ~/bin/docker-compose

バイナリに対して実行権限を付与する

chmod +x ~/bin/docker-compose

以上でセットアップは完了です


BuildKit での構築を有効化する

有効化の方法は 2 つあります

  • ~/.bashrcに追記する
export DOCKER_BUILDKIT=1
  • daemon.json に記述

本来の Docker は/etc/docker/daemon.jsonに記述しますが、Rootless モードの場合は~/.config/docker/daemon.jsonファイルを作る必要があります。

{ "features": { "buildkit": true } }

以上でセットアップは完了です

参考