2017-07-16 6 views
2

私はドッカーで初心者と私は私がdocker run -it -p 8080:80 appNameドッカー/ Angular4/nginxの

すべてがOKです画像docker build --rm -t appName -f Dockerfile .、実行コンテナを構築し、このDockerfileに

とnginxの設定ファイル

server { 

    listen 80; 

    sendfile on; 

    default_type application/octet-stream; 


    gzip on; 
    gzip_http_version 1.1; 
    gzip_disable  "MSIE [1-6]\."; 
    gzip_min_length 256; 
    gzip_vary   on; 
    gzip_proxied  expired no-cache no-store private auth; 
    gzip_types  text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript; 
    gzip_comp_level 9; 


    root /usr/share/nginx/html; 


    location/{ 
    try_files $uri $uri/ /index.html =404; 
    } 

} 

を作成。しかし、私には1つの問題があります。コードを対話的に変更することはできません。私は自分の変更をコミットしますdocker commit ...。私はコンテナを数回再起動しますが、何も起こりませんでした。 私は何かアドバイスをいただきありがとうございます。

答えて

1

Dockerを使用すると、イメージのビルド中にファイルをコピーすることも、コンテナを実行している間にローカルディレクトリ/ファイルをマウントすることもできます。 Dockerfileを見ると、ビルド中にコードをイメージにコピーしているように見えます。そのため、イメージをビルドする際のファイルの状態は、コンテナの実行時の状態になります。

私は、次の、あなたは、Linux/Macを使用していると仮定していますがドッキングウィンドウコンテナ内でプロジェクトディレクトリをマウントする例です。

$ docker run -v "$PWD/dist:/usr/share/nginx/html" -it -p 8080:80 appName 

今、ホストOS上のファイルへの変更は、ドッキングウィンドウコンテナに反映されます。

注:ドッカーファイルは正常ですが、インターネット上の記事を読んで改善することができます。

+0

ありがとうございましたvedarthk –