沉冰浮水

沉冰浮水

做最终到的事,成为最终成为的人!
github
bilibili
mastodon
zhihu
douban

「折腾」Docker 化安装 Z-BlogPHP

本文原始リンクは以下の通りです:

「折腾」Docker 化安装 Z-BlogPHP

https://www.wdssmq.com/post/20120817544.html

使用 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 のインストール#

Docker 安裝 Mysql + Phpmyadmin | 愛吃東西的 RD

ネットワーク設定はまだよくわかりませんが、これで成功しました。

以下のコマンドは最初に 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
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。