一个最简单的Dockfile实践

一:一个Dockerfile文件

FROM bash
COPY . /usr/jinliang/
WORKDIR /usr/jinliang/
CMD [ "sh", "hello_world.sh" ]:

备注1:命令解释

  FROM : 基础镜像。COPY: 复制当前目录(上下文)到容器的某个目录(“/usr/jinliang/”) 。WORKDIR :指定容器的工作目录。CMD :容器开始运行的命令

备注2:https://docs.docker.com/engine/reference/builder/

二:一个shell脚本文件

#!/bin/sh
while true
do
 echo 'hello world!' >> /usr/jinliang/hello_world.log
 sleep 1
done

备注3:一个无限循环(j间隔秒)并追加打印“hello word!”字符串到指定文件。

三:制作镜像

 docker build -t hello_world:1.11 .

一个最简单的Dockfile实践_第1张图片

 备注4:docker build 通过一个Dockerfile创建一个镜像。选项 -t (--tag):命名镜像并未设置标签以这样的格式name:tag(Name and optionally a tag in the'name:tag' format)

 备注5:关于docker bilid 指令的更多使用

    https://docs.docker.com/engine/reference/commandline/build/

 四:启动镜像-> 创建容器

  docker run -i -t -d hello_world:1.11

 备注6:选择 -d 后台启动

备注7:更过docker run 指令https://docs.docker.com/engine/reference/commandline/run/

 五:进入容器

  docker exec -it 4c1675efd267 /bin/sh

一个最简单的Dockfile实践_第2张图片

 备注8:进入容器并执行/bin/sh脚本。

备注9:更多docker exec指令https://docs.docker.com/engine/reference/commandline/exec/

学习文档:

  docker官方:https://docs.docker.com/engine/docker-overview/

  中文文档:https://www.runoob.com/docker/docker-dockerfile.html

你可能感兴趣的:(一个最简单的Dockfile实践)