本文原始リンクは以下の通りです:
「折腾」Docker 化安装 Z-BlogPHP
使用 Docker Compose 部署「推荐」#
wdssmq/zbp-docker-compose: 使用 Docker Compose 快捷部署 Z-BlogPHP + MySQL;:
# Docker Compose のインストール
sudo curl -L https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-`uname -s`-`uname -m` \
-o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
最新版の Docker Compose インストールコマンドを生成:https://demo.wdssmq.com/tools/GenShell/
コンテナ間通信のためのネットワークの作成#
docker network create -d bridge net_web
今後作成されるすべてのコンテナは、このネットワークに接続されます。詳細については、「このリンク」を参照してください。
Docker での MysQL + PHPMyAdmin のインストール#
ネットワーク設定はまだよくわかりませんが、これで成功しました。
以下のコマンドは最初に CentOS でテストされ、Ubuntu では sudo
を追加する必要があるかもしれません。
# cd /root
# MYSQL_DIR=/root/MySQL
# if [ ! -d $MYSQL_DIR ]; then
# mkdir -p $MYSQL_DIR
# fi
# 作成済みのコンテナを削除
docker rm --force MySQL
docker run --name MySQL \
--net=net_web \
-e MYSQL_ROOT_HOST=172.%.%.% \
-e MYSQL_ROOT_PASSWORD=shujukumima \
--restart on-failure \
-d mysql/mysql-server:5.7
# PHPMyAdmin、ポートは 9100 にマッピング
docker rm --force PHPMyAdmin
docker run --name PHPMyAdmin \
--network=net_web \
-e PMA_HOST=MySQL \
-e UPLOAD_LIMIT=4096K \
-p 9100:80 \
-d phpmyadmin/phpmyadmin
# 通常は停止し、必要な時に開始します
docker stop PHPMyAdmin
docker start PHPMyAdmin
# MySQL のインストールの検証
docker exec -it MySQL mysql -u root -p
# コンテナ内にログインしてテスト
# docker exec -it MySQL /bin/bash
# mysql -u root -p
# コマンドラインでのバックアップ
if [ ! -d ~/backup ]; then
mkdir ~/backup
fi
# バックアップするデータベースを指定
DB_NAME=zblog_docker
docker exec -it MySQL mysqldump \
-u root -pshujukumima \
$DB_NAME > ~/backup/db_$DB_NAME-$(date +%Y-%m-%d-%H-%M).sql
# ↑ 重要:-p パラメータの後にスペースを入れずにパスワードを直接入力します
# データベースのインポート
DB_SQL=~/backup/db_www.wdssmq.com.sql
DB_NAME=zblog_docker2
docker exec -i MySQL mysql \
-u root -pshujukumima \
-D $DB_NAME < $DB_SQL
# 以下のコマンドは参考までに
use mysql;
select host,user from user;
update user set host='%' where user='root';
====================
Docker での Z-BlogPHP のインストール#
ZBP_DIR=~/wwwroot/zbp_folder
ZBP_PORT=8082
if [ ! -d $ZBP_DIR ]; then
mkdir -p $ZBP_DIR
fi
# 作成済みのコンテナを削除
docker rm --force zbp
docker run --name zbp \
--net=net_web \
-v $ZBP_DIR:/app \
-e ZC_DB_HOST=MySQL \
-e ZC_DB_NAME=zblog_docker \
-e ZC_DB_USER=root \
-e ZC_DB_PWDD=shujukumima \
-e ZC_BLOG_USER=admin \
-e ZC_BLOG_PWDD=shezhimima \
-p $ZBP_PORT:80 \
--restart on-failure \
-d wdssmq/zblogphp
# ログの表示
docker logs zbp
# コンテナ内に入る
docker exec -it zbp /bin/bash
====================
ZBP-Docker イメージのビルドと Docker Hub への公開#
zblogcn/zblogphp-tencent-openapp-docker:
cd ~/git
# プロジェクトをクローンしてディレクトリに移動
git clone [email protected]:zblogcn/zblogphp-tencent-openapp-docker.git zbp-docker
cd zbp-docker
# ビルド
docker build -t wdssmq/zblogphp:22.05 .
# —— タグを指定
docker build -t wdssmq/zblogphp .
# —— タグを指定しない場合、デフォルトは :latest
# イメージの表示
docker image ls
# Docker Hub へのログイン
# https://hub.docker.com/
# https://hub.docker.com/settings/security
# ログインパスワードにはアクセストークンを使用することをお勧めします
docker login -u <ユーザ名> -p <パスワード>
# イメージの公開
docker push wdssmq/zblogphp:22.05
docker push wdssmq/zblogphp:latest
=========================
その他#
さまざまなエラーメッセージ:
· Warning: Permanently added 'github.com,192.30.255.113' (RSA) to the list of known hosts.
解決策:
ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
を実行します。
· Permission denied (publickey).
解決策:
「[email protected]/zblogphp-tencent-openapp-docker.git」のようなアドレスで接続しているが、「SSH Key」が設定されていない場合にこのメッセージが表示されます。
以下のssh-keygen
コマンドで生成された*.pub
の内容をhttps://github.com/settings/ssh/newに追加してください。
· ERROR: You're using an RSA key with SHA-1, which is no longer allowed. Please use a newer client or a different key type
解決策:
RSA アルゴリズムはもはや安全ではないと見なされています(主に鍵の長さに依存します)。
より直接的な方法は、アルゴリズムを ecdsa または ed25519 に変更することです。両方のうち後者がより安全ですが、環境が古い場合に「unknown key type ed25519」というメッセージが表示される場合は、前者を選択してください。
ssh-keygen -t ed25519
# unknown key type ed25519
ssh-keygen -t ecdsa
・Docker 网络相关
詳細な説明については、「このリンク」を参照してください。
docker network ls
docker network inspect bridge
docker network inspect host
docker network create -d bridge net_web
docker network inspect net_web