Get Started, Part 2: Containers
Best practices for writing Dockerfiles
导言
这里将通过一个简单的场景来学习Dockerfile的使用:制作一个安装了openresty的centos的镜像(image)。
1 | Server: Docker Engine - Community |
一. 创建一个工作目录
1 | # 后续这个目录将存放Dockerfile和entrypoint.sh |
二. 在工作目录中创建一个Dockerfile文件
1 | # 指定基础镜像,并且必须是第一条指令(如果不需要基础镜像,那么替换为 FROM scratch) |
三. 在工作目录中创建一个entrypoint.sh文件
1 |
|
文件生成完成后,记得还要通过chmod +x entrypoint.sh
给脚本加上执行权限,否则容器启动时将无法执行脚本。
四. 在工作目录下build镜像
Usage: docker build [OPTIONS] PATH | URL | -
1 | # 待生成镜像的name为hello,tag为缺省值latest,路径为.(当前工作目录) |
执行docker image ls
,docker会打印出本地存储的全部镜像,其中REPOSITORY为hello,TAG为latest的记录对应刚创建的镜像。
五. 创建容器
Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG…]
1 | # -d 该容器在后台执行 |
执行docker container ls
,docker会打印出本地执行中的全部容器,其中IMAGE为hello的记录对应刚启动的容器。
打开浏览器访问http://localhost:4000
,可以看到openrestry的默认主页,至此镜像及其对应的容器已创建完成。