首先拉取一个镜像,在这里以NGINX为例
1
2
3
4
|
[root@DockServer opt] # docker pull nginx
[root@DockServer opt] # docker images
REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest b8efb18f159b 3 weeks ago 107MB |
启动NGINX镜像,映射出端口
1
2
3
4
5
|
[root@DockServer opt] # docker run --name webserver -d -p 80:80 nginx
8f62585b370ca34eb8c438adbab0f972e1990cee25000a742c6a2d8e7ee7ba38 [root@DockServer opt] # docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8f62585b370c nginx "nginx -g 'daemon ..." 6 seconds ago Up 6 seconds 0.0.0.0:80->80 /tcp webserver
|
访问端口,直接用命令行访问,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
[root@DockServer opt] # curl http://127.0.0.1
<!DOCTYPE html> <html> < head >
<title>Welcome to nginx!< /title >
<style> body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
< /style >
< /head >
<body> <h1>Welcome to nginx!< /h1 >
<p>If you see this page, the nginx web server is successfully installed and working. Further configuration is required.< /p >
<p>For online documentation and support please refer to <a href= "http://nginx.org/" >nginx.org< /a >.<br/>
Commercial support is available at <a href= "http://nginx.com/" >nginx.com< /a >.< /p >
<p><em>Thank you for using nginx.< /em >< /p >
< /body >
< /html >
|
可以看到能够访问在nginx docker里的东东了,下面我们修改下首页内容
进入nginx docker 里面进行修改
1
2
3
4
5
|
进入docker [root@DockServer opt] # docker exec -it webserver bash
root@8f62585b370c:/ # echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html
root@8f62585b370c:/ # exit
exit |
再次访问看看
1
2
|
[root@DockServer opt] # curl http://127.0.0.1
<h1>Hello, Docker!< /h1 >
|
可以看出,已经修改成功,我们保存成镜像
1
2
3
4
5
6
7
8
9
10
11
12
|
[root@DockServer opt] # docker commit --author "Ding Jin <dingjin@gmail.com>" --message "修改nginx默认网页" webserver webserver:v2
sha256:ca35d11b57bac6e3e4ebab15aaff528c8530f7f5e59e00f58fa61e86edf1aa91 [root@DockServer opt] # docker images
REPOSITORY TAG IMAGE ID CREATED SIZE webserver v2 ca35d11b57ba 6 seconds ago 107MB nginx latest b8efb18f159b 3 weeks ago 107MB 已经可以看到webserver:v2镜像了,运行下 [root@DockServer opt] # docker run --name web2 -d -p 81:80 webserver:v2
1647edeba49aa664c0ccf642248f6b30b36c6b08990ede580a5803f1a59ae545 [root@DockServer opt] # curl http://127.0.0.1:81
<h1>Hello, Docker!< /h1 >
|
可以了解以下命令,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
查看webserver做了哪些更改,即和源镜像对比不同 [root@DockServer opt] # docker diff webserver
C /root
A /root/ .bash_history
C /run
A /run/nginx .pid
C /var
C /var/cache
C /var/cache/nginx
A /var/cache/nginx/uwsgi_temp
A /var/cache/nginx/client_temp
A /var/cache/nginx/fastcgi_temp
A /var/cache/nginx/proxy_temp
A /var/cache/nginx/scgi_temp
C /usr
C /usr/share
C /usr/share/nginx
C /usr/share/nginx/html
查看webserver:v2历史文件变动记录 [root@DockServer opt] # docker history webserver:v2
IMAGE CREATED CREATED BY SIZE COMMENT ca35d11b57ba 4 minutes ago nginx -g daemon off; 98B 修改nginx默认网页 b8efb18f159b 3 weeks ago /bin/sh -c #(nop) CMD ["nginx" "-g" "daem... 0B
<missing> 3 weeks ago /bin/sh -c #(nop) STOPSIGNAL [SIGTERM] 0B
<missing> 3 weeks ago /bin/sh -c #(nop) EXPOSE 80/tcp 0B
<missing> 3 weeks ago /bin/sh -c ln -sf /dev/stdout /var/log/ngi ... 0B
<missing> 3 weeks ago /bin/sh -c apt-get update && apt-get inst... 52.2MB
<missing> 3 weeks ago /bin/sh -c #(nop) ENV NJS_VERSION=1.13.3.... 0B
<missing> 3 weeks ago /bin/sh -c #(nop) ENV NGINX_VERSION=1.13.... 0B
<missing> 3 weeks ago /bin/sh -c #(nop) MAINTAINER NGINX Docker... 0B
<missing> 3 weeks ago /bin/sh -c #(nop) CMD ["bash"] 0B
<missing> 3 weeks ago /bin/sh -c #(nop) ADD file:fa8dd9a679f473a... 55.2MB
|
结合上篇,我们上传到本地私有仓库,然后就直接可以在本地调用了~~
本文转自 jackjiaxiong 51CTO博客,原文链接:http://blog.51cto.com/xiangcun168/1957431