Limour

Limour

临床医学在读。

DOCKERのインストール手順の記録

ステップ 1 SWAP の追加#

  • wget -O box.sh https://raw.githubusercontent.com/BlueSkyXN/SKY-BOX/main/box.sh && chmod +x box.sh && clear && sudo ./box.sh
  • 18 サイズを 4096 に設定し、4G の SWAP スペースを作成します

ステップ 2 BBR の有効化#

  • wget -O box.sh https://raw.githubusercontent.com/BlueSkyXN/SKY-BOX/main/box.sh && chmod +x box.sh && clear && sudo ./box.sh
  • 17 11 BBR-FQ を有効化します
  • sudo reboot

ステップ 3 タイムゾーンの変更#

  • timedatectl list-timezones
  • sudo timedatectl set-timezone Asia/Shanghai

ステップ 4 SSH ポートの変更#

  • sudo nano /etc/ssh/sshd_config
  • Port 22 を Port 2022 に変更します
  • sudo service sshd restart
  • 新しい SSH 接続を開いて変更が成功したかどうかをテストします
  • ハニーポット:FakeSSH
docker run -d --restart=always -p 22:22 --name fakessh fffaraz/fakessh
docker logs -f fakessh

ステップ 5 Docker のインストール#

  • 新しいバージョンの Docker には compose コマンドが付属しています。docker composeを使用します
  • (中国)curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
  • (国際)curl -fsSL https://get.docker.com | bash
(ミラー) sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
ARCH_VERSION=$(if [[ $(arch) == "arm64" || $(arch) == 'aarch64' ]]; then echo 'arm64'; elif [[ $(arch) == "armhf" ]]; then echo 'armhf'; else echo 'amd64'; fi)
sudo add-apt-repository "deb [arch=$ARCH_VERSION] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update && sudo apt install docker-ce
sudo systemctl status docker
LATEST_VERSION=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | awk -F'"' '/tag_name/{print $4}')
(ミラー) sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/$LATEST_VERSION/docker-compose-$(uname -s)-$(uname -m)" > /usr/local/bin/docker-compose
(国際) sudo curl -L "https://github.com/docker/compose/releases/download/$LATEST_VERSION/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

ステップ 6 Docker イメージのミラーを追加#

{
    "registry-mirrors":[
                        "https://hub-mirror.c.163.com/",
                        "https://docker.mirrors.ustc.edu.cn/"
                        ]
}
nano /etc/docker/daemon.json
systemctl daemon-reload
systemctl restart docker

ステップ 7 非 docker.io リポジトリ#

  • hub-mirrorプロジェクトは、docker.io または他のミラーサービスを使用して、gcr.io、registry.k8s.io、k8s.gcr.io、quay.io、ghcr.io などの外国のイメージの高速ダウンロードサービスを提供します
  • file-proxyプロジェクトは、Cloudflare Workers を使用してダウンロードサービスを代理します

ステップ 8 オフラインでコンテナイメージを取得する例#

wget https://raw.githubusercontent.com/NotGlop/docker-drag/master/docker_pull.py
python3 docker_pull.py nkpro/chrome-novnc@sha256:379ef4901f65495fb200b60fe2f87ba1346ce7df91cbe807365dba57c5dcd8d5
# USBドライブを使用してnkpro_chrome-novnc.tarをターゲットコンピュータに転送します
docker load < nkpro_chrome-novnc.tar
docker images
docker tag ba39b3ae6c10 nkpro/chrome-novnc:latest

ステップ 9 コンテナイメージの更新#

  • sudo docker-compose pull && sudo docker-compose up -d --remove-orphans
  • sudo docker image prune

追加 システムの自動更新を無効にする#

  • nano /etc/update-manager/release-upgradesで Prompt を never に変更します
  • sudo sed -i.bak 's/1/0/' /etc/apt/apt.conf.d/10periodic
  • sudo sed -i.bak 's/1/0/' /etc/apt/apt.conf.d/20auto-upgrades
  • sudo systemctl stop unattended-upgrades
  • sudo systemctl disable unattended-upgrades
  • sudo apt remove unattended-upgrades
  • sudo apt purge snapd
  • 最後にサーバーを再起動します sudo reboot

追加 Docker コンテナログのクリーンアップ#

nano ~/clean_docker_log.sh && chmod +x ~/clean_docker_log.sh
sudo ~/clean_docker_log.sh
#!/bin/sh 
 
echo "======== start clean docker containers logs ========"  
 
logs=$(find /var/lib/docker/containers/ -name *-json.log)  
 
for log in $logs  
        do  
                echo "clean logs : $log"  
                cat /dev/null > $log  
        done  
 
echo "======== end clean docker containers logs ========" 

追加 ルート以外のユーザー#

Podman#

  • 必要な場合に更新します

Singularity#

singularity pull --name vep.sif docker://ensemblorg/ensembl-vep
mkdir $HOME/vep_data
singularity exec vep.sif vep --dir $HOME/vep_data --help
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。