构建并运行一个简单的镜像文件
1.下载基础镜像
docker pull busybox:latest
busybox的作用和功能2.编写Dockerfile
1
2
3
4#Description: httpd image
FROM busybox:latest
MAINTAINER "xxx"
COPY index.html /data/web/html/注意点:
COPY等指令 文件夹必须以/结尾
FROM 镜像会自动下载
docker run --name busybox --rm busybox cat /proc/version
查看镜像包含的linux系统版本3.构建镜像
1
docker build -t tinyhttpd:v0.1 ./
4.运行
1
docker run --name tinyhttpd --rm tinyhttpd:v0.1 cat /data/web/html/index.html
注意点:
rm 删除新创建的tinyhttpd容器
cat /data/web/html/index.html 命令(查看文件)
制作一个nginx镜像
编写Dockerfile
1
2
3
4FROM busybox:latest
MAINTAINER "lixl"
ADD nginx-1.17.9.tar.gz /usr/local/src/
EXPOSE 80/tcp把下载好的nginx源码添加到src目录
docker build -t mynginx:v1 ./docker run –name mynginx –rm mynginx:v1 ls /usr/local/src/
1
2
3
4
5
6
FROM tinyhttpd:v0.1
LABEL maintainer="xxx"
ENV NGX_DOC_ROOT='/data/web/html/'
ADD entrypoint.sh /bin/
CMD ["/usr/sbin/nginx","-g","daemon off;"]
ENTRYPOINT ["/bin/entrypoint.sh"]
entrypoint.sh
1
2
3
4
5
6
7
8
9
10
11#!/bin/sh
cat > /etc/nginx/conf.d/www.conf << EOF
server{
server_name ${HOSTNAME};
listen ${IP:-0.0.0.0}:${PORT:-80};
root ${NGX_DOC_ROOT:-/usr/share/nginx/html};
}
EOF
exec "$@"给entrypoint.sh文件授权
chmod +x entrypoint.sh
通过docker history查看镜像构建过程
1 | 查看构建过程 |