DockerFile创建Docker镜像并启动服务

1.新建文件夹用来存放dockerfile文件  : mkdir dockerfiles

2.新建dockerfile文件  :touch Dockerfile

3.编写dockerfile文件并保存:vi Dockerfile

FROM nginx
RUN echo 'hello nginx ' > /usr/share/nginx/html/index.html

FROM:定制的镜像都是基于 FROM 的镜像,这里的 nginx 就是定制需要的基础镜像。后续的操作都是基于 nginx。

RUN:用于执行后面跟着的命令行命令。

echo:打印

4.构建镜像:docker build -t nginx:test .

在 Dockerfile 文件的存放目录下,执行构建动作。最后的 . 代表本次执行的上下文路径

上下文路径,是指 docker 在构建镜像,有时候想要使用到本机的文件(比如复制),docker build 命令得知这个路径后,会将路径下的所有内容打包。

解析:由于 docker 的运行模式是 C/S。我们本机是 C,docker 引擎是 S。实际的构建过程是在 docker 引擎下完成的,所以这个时候无法用到我们本机的文件。这就需要把我们本机的指定目录下的文件一起打包提供给 docker 引擎使用。

如果未说明最后一个参数,那么默认上下文路径就是 Dockerfile 所在的位置。

注意:上下文路径下不要放无用的文件,因为会一起打包发送给 docker 引擎,如果文件过多会造成过程缓慢。

5.运行镜像

docker run -p 80:80 nginx:test

-p 宿主机端口:容器端口     #开放容器端口到宿主机端口  nginx:test为镜像名称

运行之后,你就可以访问宿主机所在的ip+80端口来访问你所编写的内容了

6.常用命令

DockerFile创建Docker镜像并启动服务

命令不理解,可以参考博客https://www.cnblogs.com/51kata/category/789766.html