参考文档;https://docs.docker.com/engine/reference/builder/
目标:制作centos镜像,启动镜像可以访问本地百度页面
参考文档;https://docs.docker.com/engine/reference/builder/
目标:制作centos镜像,启动镜像可以访问本地百度页面
step1 :创建一个文件夹
mkdir dockerfile-baidu
step2:进入文件夹 dockerfile-baidu,创建文件entrypoint.sh,开启一个Python的web服务
cd dockerfile-baidu vim entrypoin.sh
-->进入编辑
#!/bin/bash
cd /root/cgi-bin
python -m SimpleHTTPServer 8080
step3: 复制百度首页
curl http://www.baidu.com > index.html
step4:在文件夹 dockerfile-baidu,创建文件Dockerfile
vim Dockerfile
-->编辑,创建文件夹 /root/cgi-bin,作为Python的web服务启动文件夹,将启动文件entrypoint.sh复制进文件夹,以及百度首页复制进去,安装一些软件,暴露8080端口,设置容器的入口 /root/cgi-bin/entrypoint.sh
from centos:7
RUN mkdir /root/cgi-bin
ADD entrypoint.sh /root/cgi-bin
ADD index.html /root/cgi-bin
RUN yum install -y vim
RUN yum install -y gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
EXPOSE 8080
ENTRYPOINT ["/bin/bash","/root/cgi-bin/entrypoint.sh"]
step5 制作镜像
docker build -t mybaidu:v1 .
step6查看是否制作成功
docker images
step7启动容器
docker run --name mybaidu -d -p 8989:8080 -v /docker/baidu:/var -t mybaidu:v1
step8 查看启动 log
docker logs -f mybaidu
出现下图,代表启动成功
访问:
ip:8989/
FROM:基础镜像,当前新镜像是基于哪个镜像的 MAINTAINER:镜像维护者的姓名和邮箱地址 RUN:容器构建时需要运行的命令 EXPOSE:当前容器对外暴露出的端口 WORKDIR:指定在创建容器后,终端默认登陆的进来工作目录,一个落脚点 ENV:用来在构建镜像过程中设置环境变量 ADD:将宿主机目录下的文件拷贝进镜像且 ADD 命令会自动处理 URL 和解压 tar 压缩包 COPY:类似 ADD,拷贝文件和目录到镜像中。(COPY src dest 或 COPY ["src","dest"]) VOLUME:容器数据卷,用于数据保存和持久化工作 CMD:指定一个容器启动时要运行的命令,Dockerfile 中可以有多个 CMD 指令,但只有最后一个生效,CMD 会被 docker run 之后的参数替换 ENTRYPOINT:指定一个容器启动时要运行的命令,ENTRYPOINT 的目的和 CMD 一样,都是在指定容器启动程序及参数