建立新鏡像-從已建立的容器中更新鏡像並提交鏡像(以Nginx爲例)

目標:如今咱們主要是修改nginx的index.html,而後作一個新鏡像

一、基於nginx:1.12運行一個容器
docker run -d -p 8080:80 --name nginx nginx:1.12
二、進入容器nginx的bash
docker exec -it nginx bash
三、nginx.conf路徑:/etc/nginx/nginx.conf,咱們可看看裏面的內容
root@5096ffe0b74f:/etc/nginx# cat 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;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;
    # 包含config.d/下的配置文件
    include /etc/nginx/conf.d/*.conf;
}
四、那麼咱們能夠猜到,基本配置應該在conf.d的某個配置文件中
root@5096ffe0b74f:/etc/nginx# cd conf.d/
root@5096ffe0b74f:/etc/nginx/conf.d# ls
default.conf

default.conf的內容:html

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/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;
    }
}
五、最後咱們能夠到/usr/share/nginx/html下修改index.html:

我就簡單修改爲一句話。nginx

歡迎來到Nginx!
六、提交容器副本:
docker commit -m="update index.html" -a="Howinfun" nginx(容器ID或容器名) howinfun/nginx:1.0(建立的目標鏡像名)
七、docker images能夠看到咱們建立的鏡像:
docker@default:~$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
howinfun/nginx      1.0                 03fd1aac0888        12 minutes ago      155MB
nginx               1.12                4037a5562b03        17 months ago       108MB
ubuntu              15.10               9b9cb95443b5        3 years ago         137MB
八、基於此鏡像啓動新容器:
docker run -d -p 8080:80 --name=hyfnginx howinfun/nginx:1.0
九、能夠查看綁定的宿主端口:
docker port hyfnginx -> 返回端口號
docker ps -> PORTS有端口號的信息
十、瀏覽器訪問Nginx:

由於我是在Windows上安裝Docker,因此咱們訪問前必須查看default虛擬機的ip,打開Git Bash,輸入命令:docker

Howinfun@LAPTOP-BHT98468 MINGW64 ~/Desktop
$ docker-machine ip default
192.168.99.100 -> default虛擬機的IP地址

那麼若是咱們想經過Windows系統直接訪問呢,那麼可在Oracle VM VirtualBox配置端口轉發。最後,咱們能夠訪問192.168.99.100:8080或者127.0.0.1:8080均可以訪問到nginx的主頁。


ubuntu

相關文章
相關標籤/搜索