docker nginx:latest image – content on docker host not changing

when maintaining the content and configuration on the Docker host, running:

docker run --name mynginx2 -v $(pwd)/var/www:/usr/share/nginx/html:ro \
-v $(pwd)/var/nginx/conf:/etc/nginx:ro -P -d nginx

I request the index.html page

  • Running VirtualBox in Ubuntu in Mac OSX, won't start up
  • Virtualize my VPS
  • Does docker notary key rotation invalidate all signed images?
  • Saving docker credentials in docker config
  • Loss IIS execution when enable docker support
  • Cross-region load balancing + routing on Google Container Engine
  • curl http://192.168.99.100:32905  # docker-machien ip : mynginx port
    

    which display correctly the default index.html

    Then on my local host I modify the $(pwd)/var/www/index.html ,

    <h1>Welcome to my nginx MODIFIED!</h1>
    

    and I request again the index.html page

    curl http://192.168.99.100:3290
    

    BUT , I still get the original index.html page … ( even after restarting the container)

    what could be missing ? thanks for any feedback..

    ==== UPDATE
    nginx.conf

        user nginx;
        worker_processes  1;
    
        error_log  /var/log/nginx/error.log warn;
        pid        /var/run/nginx.pid;
    
    
        events {
            worker_connections  1024;
        }
    
    
        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;
            error_log  /var/log/nginx/access.log;
    
            #sendfile        on;
            sendfile        off;
            #tcp_nopush     on;
    
            keepalive_timeout  65;
    
            #gzip  on;
    
            include /etc/nginx/conf.d/*.conf;
        }
    

    conf.d/default.conf

        server {
            listen       80;
            server_name  localhost;
    
            #charset koi8-r;
            #access_log  /var/log/nginx/log/host.access.log  main;
    
            location / {
                root   /usr/share/nginx/html;
                index  index.html index.htm;
            }
    
            #error_page  404              /404.html;
    
            # redirect server error pages to the static page /50x.html
            #
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   /usr/share/nginx/html;
            }
    
            # proxy the PHP scripts to Apache listening on 127.0.0.1:80
            #
            #location ~ \.php$ {
            #    proxy_pass   http://127.0.0.1;
            #}
    
            # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
            #
            #location ~ \.php$ {
            #    root           html;
            #    fastcgi_pass   127.0.0.1:9000;
            #    fastcgi_index  index.php;
            #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            #    include        fastcgi_params;
            #}
    
            # deny access to .htaccess files, if Apache's document root
            # concurs with nginx's one
            #
            #location ~ /\.ht {
            #    deny  all;
            #}
        }
    

  • How to pass parameter into docker container and update file in container with passed parameter
  • Understanding Docker Macvlan network
  • ADD > LOAD .SQL using Docker Automated build and Compose
  • AWS beanstalk environment isn't rotating docker container logs
  • Dockerfile for PHP service
  • maven-docker-plugin: how to get container ip address
  • One Solution collect form web for “docker nginx:latest image – content on docker host not changing”

    How does your Nginx configuration file look like? Do you have caching enabled for static html files?
    Try to add expires -1; as configuration option to the location of your index.html file.
    Please have also have a look at this stackoverflow question.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.