dockerでnginxをインストールするには落とし穴が多すぎるので思い切って諦めましょう

以下は私の個人的な意見です. 何か間違っている場合は、コメントエリアで議論してコミュニケーションしてください.
1. listen のポートは docker -p のパラメーターによって制限されています. nginx コンテナーの conf ファイルは同じものしか listen できません2.
設定ファイルを変更するのが面倒 コンテナに入って動作させるために docker exec がある(もちろん -v でマウント可能)
3. 2 点目については、一般的に複数のリソース(のマウント)が必要もちろん、マウントする前に、最初に docker cp コマンドを実行する必要があり、コンテナー (ホスト上のファイルをホスト マシンにコピーするのが面倒ですが、それをコンテナーにマウントすることで同期変更を容易にします)

docker run  --name nginx -m 200m -p 80:80 \
-v /docker-work/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /docker-work/nginx/logs:/var/log/nginx \
-v /docker-work/nginx/html:/usr/share/nginx/html \
-v /docker-work/nginx/conf:/etc/nginx/conf.d \
-e TZ=Asia/Shanghai \
--privileged=true -d nginx
参数说明
-name  给你启动的容器起个名字,以后可以使用这个名字启动或者停止容器
-p     映射端口,将docker宿主机的80端口和容器的80端口进行绑定
-v    挂载文件用的,
-m 200m 分配内存空间
-e TZ=Asia/Shanghai  设置时区
第一个-v 表示将你本地的nginx.conf覆盖你要起启动的容器的nginx.conf文件,
第二个-v 表示将日志文件进行挂载,就是把nginx服务器的日志写到你docker宿主机的/home/docker-nginx/log/下面
第三个-v 表示的和第一个-v意思一样的。
-d 表示启动的是哪个镜像

4. nginx.conf ファイルをいくら修正しても動作しません (再起動には docker restart を使用するだけです) 長時間比較しても原因がわかりません コンテナ内の conf ファイルも変更されますnginx -t を使用して構文を確認してください。問題ありません。
次に、nginx をインストールするために docker を放棄し、linux 環境に nginx.tar パッケージを直接インストールしました。これは 10 分で有効になります。nginx
インストール チュートリアルを添付してください:リンク

おすすめ

転載: blog.csdn.net/lzq2357639195/article/details/129927361