デプロイ例(ARM 版)
このドキュメントでは、CentOS/RedHatシステムでのデプロイ例を示します。他にも麒麟V10や華為Eulerなどのシステムでも参考にできます。Debian系との違いは別途記載しています。
環境準備
-
Linux サーバーを用意します。最小構成は 4 コア、メモリ 16G、データディスク 40G(システムディスクを除く)です。推奨構成も参照してください。
8880、38880、38881ポートが使用されていないことを確認します。 -
rootユーザーでサーバーにログインします。
-
サーバーにデータディスクがある場合は、デプロイ前に
/dataディ レクトリへマウントしてください。または、インストール時にデータのデフォルト保存パスをデータディスクのマウントパスへ変更してください。 -
Firewalldを停止してください(Debian/Ubuntuでは標準でインストールされていないため、この手順は省略できます。)
systemctl stop firewalld && systemctl disable firewalld -
SELinuxを停止してください(Debian/Ubuntuでは標準で有効になっていないため、この手順は省略できます。)
setenforce 0sed -i s/"^SELINUX=.*$"/"SELINUX=disabled"/g /etc/selinux/config -
MaxMapCountの調整
sysctl -w vm.max_map_count=262144grep -q '^vm.max_map_count' /etc/sysctl.d/99-sysctl.conf && sed -i 's/^vm.max_map_count.*/vm.max_map_count=262144/' /etc/sysctl.d/99-sysctl.conf || echo 'vm.max_map_count=262144' >> /etc/sysctl.d/99-sysctl.conf -
SysFileNrの調整
sysctl -w fs.file-max=2048000grep -q '^fs.file-max' /etc/sysctl.d/99-sysctl.conf && sed -i 's/^fs.file-max.*/fs.file-max=2048000/' /etc/sysctl.d/99-sysctl.conf || echo 'fs.file-max=2048000' >> /etc/sysctl.d/99-sysctl.conf -
IPv4Forwardの調整
sysctl -w net.ipv4.ip_forward=1grep -q '^net.ipv4.ip_forward' /etc/sysctl.d/99-sysctl.conf && sed -i 's/^net.ipv4.ip_forward.*/net.ipv4.ip_forward=1/' /etc/sysctl.d/99-sysctl.conf || echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.d/99-sysctl.conf -
OSがDebian 10以上の場合は、まず
iptables --versionコマンドでiptablesの有無を確認してください。存在しない場合はインストールが必要です。参 考コマンド(サーバーがインターネット接続できる必要があります):
apt-get updateapt install -y iptables
Dockerインストール
-
インストールパッケージをダウンロードします
- インターネット接続可能
- インターネット接続不可
wget https://pdpublic.nocoly.com/offline/common/arm64/docker--.tgz# インストールパッケージのダウンロードリンク。ダウンロード後、デプロイサーバーへアップロードしてください。https://pdpublic.nocoly.com/offline/common/arm64/docker--.tgz -
パッケージを解凍し、バイナリファイルディレクトリへ移動します
tar -zxvf docker--.tgzmv -f docker/* /usr/local/bin/ -
docker設定ファイルの作成
デフォルトのdockerデータディレクトリは /data/docker です。データディレクトリを変更する場合は、設定ファイルの data-root を変更してください。
mkdir -p /etc/docker/cat > /etc/docker/daemon.json <<EOF{"registry-mirrors": ["https://uvlkeb6d.mirror.aliyuncs.com"],"data-root": "/data/docker","max-concurrent-downloads": 10,"exec-opts": ["native.cgroupdriver=cgroupfs"],"storage-driver": "overlay2","default-address-pools":[{"base":"172.80.0.0/16","size":24}]}EOF -
systemdによるdocker管理の設定
cat > /etc/systemd/system/docker.service <<EOF[Unit]Description=DockerAfter=network-online.targetWants=network-online.target[Service]Type=notifyExecStart=/usr/local/bin/dockerdExecReload=/bin/kill -s HUP \$MAINPIDLimitNOFILE=102400LimitNPROC=infinityLimitCORE=0TimeoutStartSec=0Delegate=yesKillMode=processRestart=on-failureStartLimitBurst=3StartLimitInterval=60s[Install]WantedBy=multi-user.targetEOF -
dockerを起動します
systemctl daemon-reload && systemctl start docker && systemctl enable docker