Dockerコンテナーを使用してnginxにフロントエンドプロジェクトをデプロイする

dockerコンテナーを使用してフロントエンドプロジェクトをnginxにデプロイし、クロスドメインの問題を解決する

準備

1.フロントエンドプロジェクトがパッケージ化され、/ homeに解凍され、/ home / distに格納されます
。2。バックエンドプロジェクトが実行されます

ホスト操作

新しいデータボリュームの名前はnginxです

docker volume create nginx

Dockerボリュームls

Dockerボリューム検査nginx

nginxと呼ばれるコンテナーを初期化し、-dがバックグラウンドで実行され、-pポートマッピング、Dockerホストのポート8089がコンテナーのポート80にマップされる
-vパラメーターは、distの下の静的ファイルをnginxのhtmlフォルダーにマップし、構成ファイル対応するデフォルトの構成ファイルは、データボリュームnginx
バインドされたホストフォルダー(/ var / lib / docker / volumes / nginx / _data)をnginxコンテナーの/ etc / nginxフォルダーにマップします

docker run  --name nginx -d -p 8089:80  -v /home/dist:/usr/share/nginx/html -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v nginx:/etc/nginx  nginx

docker ps実行中のコンテナー

ホストがマウントされているフォルダに移動します

cd / var / lib / docker / volumes / nginx

cd _date /

静的フォルダーをマウントされたフォルダー
cp / home / distにコピーします

設定ファイルが保存されているフォルダに移動し、設定ファイルを編集します

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

   include /etc/nginx/conf.d/*.conf;


        server{
        listen  80;
        server_name ip;

        location / {
                proxy_pass http://ip:8081/api/; #ip为你的后端ip地址
                }

        location ~ .*\.(js|css|ico|png|jpg|eot|svg|ttf|woff|html)$ {
                root /etc/nginx/dist;
                expires 30d;
                }
        }


}




nginxコンテナのフォルダを入力してください

/ data / nginx / conf

1、docker exec -it nginx(コンテナー名)/ bin / bash

2、cd / etc / nginx

3. lsは、コピーしたホストフォルダー内の静的ファイルを表示できます

nginxコンテナを再起動して構成を更新する

docker ps
docker restart XXX

おすすめ

転載: www.cnblogs.com/whiplasher/p/12719101.html