目录
一、通过Dockerfile构建镜像
构建镜像语法 docker build -t 需要构建的镜像 .
docker build 是docker创建镜像的命令
-t 是标识新建的镜像属于 newrain的 bbauto镜像
1.1、Dockerfile参数说明
FROM python:2.7-slim
# 使用官方提供的 Python 开发镜像作为基础镜像
# 指定"python:2.7-slim"这个官方维护的基础镜像,从而免去安装 Python 等语言环境的操作。:
WORKDIR /app
# 将工作目录切换为 /app,意思是在这一句之后,Dockerfile 后面的操作都以这一句指定的 /app 目录作为当前目录。
ADD . /app
# 将当前目录下的所有内容复制到 /app 下 Dockerfile 里的原语并不都是指对容器内部的操作。比如 ADD,指的是把当前目录(即 Dockerfile 所在的目录)里的文件,复制到指定容器内的目录当中。
RUN pip install --trusted-host pypi.python.org -r requirements.txt
# 使用 pip 命令安装这个应用所需要的依赖
EXPOSE 80
# 允许外界访问容器的 80 端口
ENV NAME World
# 设置环境变量
CMD ["python", "app.py"]
# 设置容器进程为:python app.py,即:这个 Python 应用的启动命令,这里app.py 的实际路径是 /app/app.py。CMD ["python", "app.py"] 等价于 "docker run python app.py"。
注意 :命令要大写,"#"是注解。
每一个指令后面需要跟空格,语法。
FROM 命令是告诉docker 我们的镜像什么从哪里下载。
MAINTAINER 是描述 镜像的创建人。 maintainer
RUN 命令是在镜像内部执行。就是说他后面的命令应该是针对镜像可以运行的命令。
1.2、创建文件夹和Dockerfile文件
[root@docker ~]# mkdir Dockerfile
[root@docker ~]# cd Dockerfile/
[root@docker Dockerfile]# touch Dockerfile
1.3、编写Dockerfile
FROM daocloud.io/library/centos:7
RUN yum -y install mysql
RUN touch lining.txt
RUN echo "123456" > lining.txt
1.4、开始构建
构建语法 docker build -t daocloud.io/library/centos:7 .
镜像构建成功。
1.5、检查是否完成需求
成功构建镜像
成功安装mysql
启动镜像
进入镜像查看是否有文件
ok,构建成功!