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

  • Browsersync within a Docker container
  • Opening a port from a docker container on AWS to the rest of the world
  • Oracle on Docker with pre-pumped Data
  • Docker-Compose mount on Windows Server 2016 TP4
  • passing file to docker command
  • Rancher developent enviroment
  • curl  # 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


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

    what could be missing ? thanks for any feedback..

    ==== UPDATE

        user nginx;
        worker_processes  1;
        error_log  /var/log/nginx/error.log warn;
        pid        /var/run/;
        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;


        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
            #location ~ \.php$ {
            #    proxy_pass;
            # pass the PHP scripts to FastCGI server listening on
            #location ~ \.php$ {
            #    root           html;
            #    fastcgi_pass;
            #    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 remove docker aufs folder?
  • xdebug not working in Docker for Mac
  • how to protect a django web app deployed in elastic beanstalk docker nginx using password
  • Docker Wordpress CPU jumps when selecting featured image
  • Docker process suspends and gets killed
  • Launch service at container startup
  • 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.