長年携わってきたのは CentOS
オペレーティングシステムであり、mac
ユーザーや Ubuntu
ユーザーの場合、一部の内容は適用できない。
インストールに関する部分は、清華大学のドキュメントを参照するのが参考になる:https://mirrors.tuna.tsinghua.edu.cn/help/docker-ce/
インストール
未知の神秘的な力により、国内でのDockerのインストールには、クラウドプロバイダーが提供するレジストリのアドレスを設定することを推奨します。ここではAlibaba Cloudを使用することをお勧めします。
リポジトリソースの設定
yum install yum-utils device-mapper-persistent-data lvm2 && \
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
最新版のインストール
Dockerは一般的なバックエンドサービスとして、起動時に自動で開始されるように設定することを推奨します。以下のコマンドはCentOS 7向けです。
sudo yum install -y docker-ce docker-ce-cli containerd.io && systemctl enable --now docker
指定バージョン展開
kubernetes
およびdocker
のリリースは完全に同期されておらず、今後kubernetes
を展開する場合は、kubernetes
展開手順を参照し、指定バージョンのdocker
をインストールしてください。
yum list docker-ce --showduplicates | sort -r
sudo yum install -y docker-ce-18.09.2-3.el7 docker-ce-cli-18.09.2-3.el7 containerd.io-18.09.2-3.el7 && systemctl enable --now docker
通常ユーザーにDocker権限を追加する
sudo usermod -aG docker ${USER}
卸載
sudo yum remove -y docker-ce docker-ce-cli containerd.io
日常使用 (にちじょうしよう)
镜像加速
未知の神秘的な力により、イメージの取得時に速度が低下することがあります。この問題を解決するために、国内のクラウドプロバイダーが多くの加速サービスを提供し、引き続き阿里云を推奨します。
加速用のURLは、ご自身の登録した阿里云アカウントで取得してください。このサービスは無料で利用でき、阿里云からは無料のイメージ構築サービスも提供されています。
cat > /etc/docker/daemon.json <<EOF
{
"registry-mirrors": [
"https://docker.nju.edu.cn",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.mirrors.sjtug.sjtu.edu.cn"
]
}
EOF
systemctl daemon-reload && \
systemctl restart docker
強く推奨されるコントロールパネル
docker volume create portainer_data && \
docker run -d --name=portainer --restart=always -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:2.20.3-alpine
常用イメージの取得集
docker pull rancher/rancher:stable && docker pull portainer/portainer-ce:2.0.1 && \
docker pull centos:7 && docker pull ubuntu:20.04 && docker pull ubuntu:18.04 && \
docker pull redis:5 && docker pull redis:6 && \
docker pull alpine:3.11 && docker pull busybox:1.32 && \
docker pull rabbitmq:3.7-management && \
docker pull mariadb:10.2 && \
docker pull nginx:1.18 && docker pull nginx:1.19 && \
docker pull mysql:5.6 && docker pull mysql:8 && \
docker pull elasticsearch:6.8.11 && docker pull logstash:6.8.11 && docker pull kibana:6.8.11 && \
docker pull zookeeper:3.4 && \
docker pull influxdb:1.7 && docker pull grafana/grafana:7.3.1 && \
docker pull percona:8 && docker pull percona:5.6 && \
docker pull cloverzrg/frps-docker:0.34.3 && docker pull cloverzrg/frpc-docker:0.34.3
常用コマンドの組み合わせ
https://docs.docker.com/engine/reference/commandline/docker/
コンテナの実行状態を確認し、format
パラメータを追加して詳細なコンテナ情報を取得(イメージ情報は無視)。
docker ps --format "{{.Names}}: {{.Ports}}: {{.Size}}"
#portainer: 0.0.0.0:8000->8000/tcp, 0.0.0.0:9000->9000/tcp: 0B (virtual 172MB)
#influxdb: 0.0.0.0:8086->8086/tcp: 183B (virtual 311MB)
すべてのコンテナをワンクリックで停止
docker stop $(docker ps -a -q)
すべてのイメージをワンクリックで削除
dokcer rmi $(docker images -a -q)
イメージのエクスポート
docker save <IMAGE NAME>:<IMAGE TAG> > -o XXX.tar
イメージをエクスポートして圧縮
docker save <IMAGE NAME>:<IMAGE TAG> | gzip > XXX.tar
イメージをインポート
docker load -i XXX.tar