1.1.4-构建私有镜像
1、使用Dockerfile定制镜像
1.1编写Dockerfile文件
mkdir mynginx //新建mynginx目录
cd mynginx
touch Dockerfile //新建文件Dockerfile
ls
vim Dockerfile //编辑Dockerfile
Dockerfile文件内容如下:
FROM nginx
RUN echo ‘<h1>Hello,Docker!</h1>’ > /usr/share/nginx/html/index.html
1.2构建镜像
在Dockerfile文件目录下 执行如下命令
docker build -t mynginx:1.0 .
基于官方nginx镜像 自己定义镜像 如下:
2.Dockerfile指令详解
所有的文件服务使用copy命令,仅在需要自动解压缩的场合使用add。
2.1 copy复制文件
2.1.1复制命令使用方法
copy a.html /root //复制a.html到/root目录下
copy hom* /mydir/ //适配hom*所有文件到/mydir/目录下
copy hom?.txt /mydir/
2.1.2在Dockerfile中使用copy命令
vim Dockerfile
此文件添加如下内容:
COPY a.html /usr/share/nginx/html/
创建a.html:
touch a.html
vim a.html
此文件内容如下:
hello, study.163.com
构建镜像:
docker build -t mynginx:2.0 .
查看镜像:
docker images
启动容器:
docker run --name mynginx2 -p 80:80 mynginx:2.0
查看容器:
docker ps -a
进入容器:
docker exec -it mynginx2 /bin/bash
查看是否有a.html文件:
cd /usr/share/nginx/html/
ls
cat a.html
cat index.html
exit //退出容器
2.2 add更高级的复制文件
add的源路径可以是url,docker引擎会试图下载这个链接的文件 放到目标路径去。