一、需求背景
一帮情况下,所使用的都是来自于 Docker Hub 的镜像。直接使用这些镜像是可以满足一定的需求,而当这些镜像无法直接满足需求时,我们就需要定制这些镜像,比如公司特定产品版本发布等。
二、Docker Commit简单示例
1、创建nginx容器
docker run --name webserver -d -p 80:80 nginx
2、修改其中首页文件内容
docker exec -it webserver bash
echo 'Hello, Docker!
' > /usr/share/nginx/html/index.html
3、查看改动
C /root
A /root/.bash_history
C /usr
C /usr/share
C /usr/share/nginx
C /usr/share/nginx/html
C /usr/share/nginx/html/index.html
C /etc
C /etc/nginx
C /etc/nginx/conf.d
C /etc/nginx/conf.d/default.conf
C /run
A /run/nginx.pid
C /var
C /var/cache
C /var/cache/nginx
A /var/cache/nginx/client_temp
A /var/cache/nginx/fastcgi_temp
A /var/cache/nginx/proxy_temp
A /var/cache/nginx/scgi_temp
A /var/cache/nginx/uwsgi_temp
4、打包修改后的镜像
docker commit
--author "test"
--message "修改了首页"
webserver
nginx:v0.1
5、运行定制的镜像
docker run --name webserv2 -d -p 88:80 nginx:v0.1
[
fdbd2d34017b373fed3bb2401a78b60e4008dfca3fa713e7e541dfc95f180ecd
[
Hello, Docker!