Dockerは一般的なソフトウェア(mysql、tomcat、redis、nginx)をインストールします

dockerのインストールは、他のブログdockerブログリンクに移動できます。

mysqlをインストールします

ミラーを引っ張るバージョンを決定します

docker pull mysql:5.7.36

ここに画像の説明を挿入

mysqlサービスを開始します

mysqlサービスを開始し、バックグラウンドで実行し、rootユーザーのパスワードを指定し、コンテナー名を指定します

 docker run --name mysql5.7 -e MYSQL_ROOT_PASSWORD=123456 -d -p 3306:3306 mysql:5.7.36
  • --nameコンテナ名
  • -e MYSQL_ROOT_PASSWORD =xxxrootユーザーのパスワードを指定します
  • -dバックグラウンドで実行
  • -pホストポート:コンテナポート

上記の実行コマンドはデータボリュームを使用せず、データをホストシステムに保持します

mysql+データボリュームの永続性を開始します

mysqlサービスを開始し、バックグラウンドで実行し、rootユーザーのパスワードを指定し、コンテナー名を指定し、データボリュームを使用してデータをホストシステムに永続化します

注:dockerhubの説明によると、mysqlストレージファイルディレクトリは、このディレクトリ/ var / lib/mysqlのコンテナに配置されていることがわかっています。
ここに画像の説明を挿入

docker run --name mysql5.7 -e MYSQL_ROOT_PASSWORD=123456 -d -p 3306:3306 -v mysqldata:/var/lib/mysql mysql:5.7.36

ここに画像の説明を挿入

mysql構成を変更します

必要に応じてmysql構成ファイルを変更する場合は、対応するディレクトリを一緒にマウントすることもできます。
ここに画像の説明を挿入

docker run --name mysql5.7 -e MYSQL_ROOT_PASSWORD=123456 -d -p 3306:3306 -v mysqldata:/var/lib/mysql -v mysqlconfig:/etc/mysql/conf.d -v mysqllog:/var/log/mysql mysql:5.7.36
docker exec -it 容器id bash

 mysql -u root -p123456

 SHOW VARIABLES LIKE 'character%';

ここに画像の説明を挿入
文字セットが中国語に正しく挿入されていない場合、問題が発生します

データボリュームを介してデータベース構成を変更する
ここに画像の説明を挿入

 cd /var/lib/docker/volumes/mysqlconfig/_data
vim my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve


必ずコンテナを再起動してください
ここに画像の説明を挿入

tomcatをインストールします

画像をプル

docker pull tomcat:9.0-jdk8-corretto

基本的なTomcatサービスを開始します

docker run -d -p 8080:8080 --name tomcat tomcat:9.0-jdk8-corretto
  • --nameコンテナ名
  • -dバックグラウンドで実行
  • -pホストポート:コンテナポート

IPアドレスによるアクセス検出
ここに画像の説明を挿入

ここに画像の説明を挿入
webappsディレクトリが空であることがわかります。
ここに画像の説明を挿入
変更後、Tomcatページに再度アクセスする
ここに画像の説明を挿入
か、ボスの画像を直接プルすることができます。

画像をプル

docker pull tomcat:8.0.52-jre8

走る

docker run -d -p 8080:8080 --name tomcat tomcat:8.0.52-jre8

ここに画像の説明を挿入
ここに画像の説明を挿入

データボリュームを介した自動マウント

Webアプリケーションがコンテナーにデプロイされるディレクトリーは/usr/ local / tomcat / webappsであり、構成ファイルは/ usr / local / tomcat/confであることに注意してください。

docker run -d -p 8080:8080 --name tomcat -v apps:/usr/local/tomcat/webapps tomcat:8.0.52-jre8

ここに画像の説明を挿入
データボリュームに対応するディレクトリにフォルダを作成し、index.htmlを書き込み、ip :: 8080 / emp/index.htmlにアクセスします。
ここに画像の説明を挿入
ここに画像の説明を挿入

構成ファイルディレクトリをマウントします

docker run -d -p 8080:8080 --name tomcat -v apps:/usr/local/tomcat/webapps -v confs:/usr/local/tomcat/conf tomcat:8.0.52-jre8

構成情報(ポートなど)がすぐに有効にならない場合は、有効にするデータボリュームを使用して新しいコンテナーを作成する必要がある場合があります。

tomcat9を手動でマウントし、実行します

# -v表示挂载,前面的目录为宿主机目录结构,后面的目录为容器中的目录结构
docker run --name tomcat  -p 8080:8080 
-v /usr/local/tomcat/webapps:/usr/local/tomcat/webapps 
-v /usr/local/tomcat/conf:/usr/local/tomcat/conf -d tomcat:9.0-jdk8-corretto 

ここに画像の説明を挿入
ここでは、別のTomcatコンテナーを開始してから、server.xmlファイルをコンテナーからmountconfフォルダーにコピーします。

docker run --name tomcat1  -p 8080:8080  -d tomcat:9.0-jdk8-corretto 
docker exec -it ad37af bash

ここに画像の説明を挿入
コピーコマンド

docker cp tomcat1:/usr/local/tomcat/conf/  /usr/local/tomcat/

Tomcatを再起動します

docker start tomcat

9バージョンのtomcatwebappsは空​​であるため、アクセスするにはwebapps.distをコピーする必要があります

 cd webapps.dist/
 cp -r ./* ../webapps
 

ここに画像の説明を挿入
成功へのアクセス

redisをインストールする

画像をプル

docker pull redis:6.2.5

コンテナを自動的にマウントして実行します


docker run  -p 6379:6379 --name redis --privileged=true -v redisconfig:/etc/redis -v redisdata:/data -d redis:6.2.5 redis-server /etc/redis/redis.conf

構成ファイルをコピーします

 cp ./redis.conf /var/lib/docker/volumes/redisconfig/_data

注意:daemonize yesを構成しないでください。
構成しないと、コンテナーを開始できません。開始直後に停止してください。

手動マウントの取り付け手順

mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf

新しく作成したredis/confに次の内容の新しいファイルredis.confを作成します。

#bind 127.0.0.1 //允许远程连接
protected-mode no 
appendonly yes //持久化
requirepass 123456 //密码

起動

docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf

おすすめ

転載: blog.csdn.net/qq_44866153/article/details/121799249
おすすめ