Docker設定手順
1. 目的
本ドキュメントはFRUCtoS配布パッケージを用いて、FRUCtoSを動作させるDocker環境を構築するための手順を説明した資料です。
本ドキュメントはソフトウェアのインストール、OSの環境設定など基本的なコンピュータ管理の知識とその操作権限をもつ方を対象としています。
また、Dockerの基本的な知識があるとより望ましいです。なお、Dockerのインストール手順は https://docs.docker.com (docker docs)という英語のサイトを参照していただくことになります。
2. FRUCtoS用Dockerを動作させるのに必要な環境
FRUCtoSをDockerで動作させるためには、LinuxベースのDockerコンテナが必要です。OSによって利用できるDockerエンジンが異なります。
https://docs.docker.com/engine/install/ (英語)を参照すると、各OS・ディストリビューション毎に説明があるので、そちらを参考にしてインストールしてください。
インストール対象のハードウェア(仮想環境の場合はVM)には2つ以上のCPU(論理数)と4GB以上のメモリが必要です。安定した動作には4つ以上のCPUと8GB以上のメモリを推奨します。
- Windowsの場合
Docker Desktop for Windowsを使用します。管理システムを利用する場合は、v4.18.0以降のDocker Desktopをインストールしてください。FRUCtoSの動作確認ができているのはWindows10(Pro/ Enterprise)バージョン20H2以降及びWindows Server 2019以降です。 - macOSの場合
Docker Desktop for Macを使用します。管理システムを利用する場合は、v4.18.0以降のDocker Desktopをインストールしてください。FRUCtoSの動作確認ができているのはmacOS 10.14以降のIntel Macのみになります。 - Linuxの場合
Docker CEのDocker Engineを使用します。代表的なLinuxディストリビューションにはDocker CEは含まれていませんので、別途Docker CEを入手し、インストールする必要があります。また、LinuxディストリビューションによってはDocker CEと競合する別のDockerコンテナが含まれている場合があります。管理システムを利用する場合は、v23.0.1以降のDockerおよびv1.28.5以降のDocker Composeをインストールしてください。Docker CE上でFRUCtoSの動作を確認できているディストリビューションは以下のとおりです。- CentOS 7
- CentOS8 Stream
- Ubuntu 18.04 LTS (Server/Desktop)
- Ubuntu 20.04.3 LTS (Server/Desktop)
3. Dockerの構築手順
OS毎の事前設定を説明します。
3.1. Windows Server
事前設定
- Hyper-Vを使用します。「Windowsの機能の有効化または無効化」より「Hyper-V」を有効にしてください。
注意
Hyper-VのVM上にWindows Serverを構築している場合 Hyper-Vを入れ子で使用することになります。 その場合には仮想マシン停止時に管理者権限のPowerShellで以下を設定し、仮想マシン上でもHyper-Vを利用できるようにする必要があります。
Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true
(<VMName>はHyper-Vで作成したVMの名前です)
Dockerのインストール
- Docker Desktop for Windowsのインストールパッケージを https://docs.docker.com/desktop/windows/install/
よりダウンロード(Docker Desktop Installer.exe)入手し、前記URLのドキュメントに従いインストールしてください。
- インストールが成功したらcloseボタンを押しインストーラを終了し、Docker Desktopを起動します。
- WSL2モードで起動しようとして失敗しますが、「続行」を押してください。
- 右上のウィンドウを閉じるXボタンを押して、エラーダイアログを閉じます。
- DockerDesktop画面の右上にある設定ボタンを押して設定モードにして、Generalの「Use the WSL2 based Engine」
のチェックを外してApply&Restartを押してください。Hyper-V Backendモードに切り替わり再起動されます。
Docker設定
- DockerDesktop画面の右上にある設定ボタンを押して設定モードにして、Resources AdvancedでMemoryを4.00GB以上にしてください。
3.2. Windows10
事前設定
- WSL2をインストールします。
参考:https://docs.microsoft.com/ja-jp/windows/wsl/install - 管理者権限のPowerShellで以下のコマンドによりWSL2をインストール後に再起動してください。Ubuntuがインストールされます。PowerShell
wsl --install
note
Ubuntuをインストールしたくない場合や上記でインストールできない場合
- 「Windowsの機能の有効化または無効化」より「Linux用Windowsサブシステム」及び「仮想マシンプラットフォーム」を有効にしてください。
管理者権限のPowerShellで以下のコマンドによる設定も可能です。PowerShell
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all - Linuxカーネル更新プログラム パッケージをダウンロードし、インストール(実行)してください。
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi - PowerShellで以下のコマンドによりWSL2を有効にしてください。PowerShell
wsl --set-default-version 2
Dockerのインストール
- Docker Desktop for Windowsのインストールパッケージを https://docs.docker.com/desktop/windows/install/
よりダウンロード(Docker Desktop Installer.exe)入手し、前記URLのドキュメントに従いインストールしてください。
- インストールが成功したらcloseボタンを押しインストーラを終了し、Docker Desktopを起動します。
Docker設定
- DockerDesktop画面の右上にある設定ボタンを押して設定モードにして、GeneralのWSL2 backend engineがチェックされていることを確認してください。
そうでなければこれをチェックしてApply&Restartを押してください。
3.3. macOS
Docker設定
- DockerDesktop画面の右上にある設定ボタンを押して設定モードにして、Resources AdvancedでMemoryを4.00GB以上にしてください。
3.4. Linux
CentOSとUbuntuの場合の手順を説明します。その他のディストリビューションについては https://docs.docker.com/engine/install/ を参照してください。
3.4.1. CentOS
パッケージ操作コマンドはCentOS7はyum
、CentOS8以降はdnf
ですが、CentOS8以降でもyum
が利用できるため、本手順書ではyum
を使用しています。
事前設定
- ディストリビューションに含まれているDocker関連のパッケージをアンインストールします。
$ sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
Dockerのインストール
yum
でインストールできるようにするため、yumレポジトリにDocker CEを登録します。$ sudo yum install -y yum-utils
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo- Dockerをインストールします。
$ sudo yum install docker-ce docker-ce-cli containerd.io
インストール後の確認
- LinuxのサービスとしてDockerが起動されていることを確認します。
$ sudo systemctl status docker
- Active: がactiveとなっていれば正常にインストール完了です。起動されていない場合には
systemctl start docker
コマンドで起動します。$ sudo systemctl start docker
- OS起動時に自動的にDockerを起動するように設定します。
$ sudo systemctl enable docker
sudo
しなくてもdockerに繋げられるための設定をします。下記を行った後、再ログインしてください。$ sudo usermod -aG docker ${USER}
3.4.2. Ubuntu
事前設定
- ディストリビューションに含まれているDocker関連のパッケージをアンインストールします。
$ sudo apt update
$ sudo apt remove docker docker-engine docker.io containerd run
Dockerのインストール
apt
でインストールできるようにするため、aptレポジトリにDocker CEを登録します。$ sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
$ echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.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 update
$ sudo apt install docker-ce docker-ce-cli containerd.io
インストール後の確認
- LinuxのサービスとしてDockerが起動されていることを確認します。
$ sudo systemctl status docker
- Active: がactiveとなっていれば正常にインストール完了です。起動されていない場合には下記コマンドで起動します。
$ sudo systemctl start docker
- Active: がactiveとなっていれば正常にインストール完了です。起動されていない場合には下記コマンドで起動します。
- OS起動時に自動的にDockerを起動するように設定します。
$ sudo systemctl enable docker
sudo
しなくてもdockerに繋げられるための設定をします。下記コマンドを行った後、再ログインしてください。$ sudo usermod -aG docker ${USER}
4. Docker Composeのインストール
FRUCtoSはDocker Compose (https://docs.docker.jp/compose/toc.html) を使用します。
Docker DesktopにはDocker Composeが含まれていますが、Linuxでは別途インストールする必要があります。
インストール手順と注意事項を以下に示します。詳細については https://docs.docker.jp/compose/install.html をご確認ください。
- 以下のコマンドを実行してDocker Composeをダウンロードします。
(注意:「1.16.1」のところはその時点のバージョンに変えてください)$ sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
- ダウンロードしたファイルに実行権限を付与します。
$ sudo chmod a+x /usr/local/bin/docker-compose
- インストールを確認します。
(注意:環境変数PATHに/usr/local/bin
が含まれていることを確認してください)$ docker-compose --version
注意
docker-composeのバージョンがv2.0.0以上の場合、
docker-compose
コマンドをdocker compose
コマンドに読み替えて実行してください。docker-compose version 1.16.1, build 1719ceb
の様に表示されればインストール成功です。「1.16.1」や「1719ceb」のところはバージョンにより変わります。