Dockerfile的介绍

什么是dockerfile?

  • Dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本。
  • 构建三步骤
    在这里插入图片描述

Dockerfile

  • dockerfile的作用是从无到有的构建镜像。
  • 它包含安装运行所需的环境、程序代码等。这个创建过程就是使用 dockerfile 来完成的。
  • Dockerfile - 为 docker build 命令准备的,用于建立一个独立的 image ,在 docker-compose 里也可以用来实时 build
  • docker-compose.yml - 为 docker-compose 准备的脚本,可以同时管理多个 container
  • 包括他们之间的关系、用官方 image 还是自己 build 、各种网络端口定义、储存空间定义等

执行的顺序也就是这样
在这里插入图片描述

Dockerfile语法说明

'''1.DOckerfile常用命令 '''
FROM python:3.6                     # 指定拉取镜像版本
ENV PYTHONUNBUFFERED 1              # 不缓冲stdin、stdout和stderr,直接把输出重定向到文件
MAINITAINER zhangsan                # 指定作者
RUN mkdri /code                     # 运行的linux命令
WORKDIR /code                       # 指定项目工作根路径
ADD . /code/                        # 将宿主机文件复制到镜像中
COPY dj.conf /etc/nginx/conf.d      # docker内部文件拷贝
VOLUME ["/data1","/data2"]          # 将宿主机文件夹挂载到容器中
EXPOSE 8080                         # 暴露端口
CMD ["sh","/code/start.sh"]         # 容器启动时要运行的命令
CMD ["python", "manage.py", "runserver", "0:8000"]

'''2.生成镜像并运行容器'''
docker build -t nginx:v1 -f Dockerfile-nginx .         # 使用Dockerfile-nginx文件生成镜像 nginx:v1
docker push linux-node4.example.com/test/nginx:v1      # 推送镜像到harbor中
docker run -d -p 192.168.56.14:8000:8080 nginx:v1      # 运行docker容器

发布了75 篇原创文章 · 获赞 62 · 访问量 4640

猜你喜欢

转载自blog.csdn.net/weixin_45139342/article/details/104953110