创建Dockerfile:
在应用程序的根目录中创建一个名为Dockerfile的文件,并添加以下内容:
FROM node:latest
WORKDIR /app
COPY . .
RUN npm install
EXPOSE 3000
CMD ["npm", "start"]
构建镜像:
在终端中,导航到Dockerfile所在的目录,并运行以下命令构建镜像:
docker build --no-cache -t myapp .
运行容器并进行端口映射:
运行以下命令启动容器,并进行端口映射:
docker run -p 8888:3000 myapp
验证端口映射:
打开浏览器并输入http://localhost:8888
来访问应用程序。
关键字 | 描述 |
---|---|
FROM | 指定基础镜像 如FROM docker:latest |
MAINTAINER | 指定文件作者 如李白 |
ENV 配置环境变量 | 如ENV JAVA_HOME=/root/local/java/jdk1.8-.0.121 |
ARG | 用于定义变量后面引用 如JAR_FILE=target/*.jar 后面可用${JAR_FILE}方式引用 |
WORKDIR | 工作目录,即后续RUN、ADD等命令执行位置的路径 |
COPY | 拷贝本地文件到指定目录 如COPY ./tomcat-8.0 /root/tomcat,不支持压缩文件自动解压,文件只会被复制为普通文件 |
ADD | 与COPY相似,但除了复制本地文件和目录外,还有几点高级功能,1会在将压缩文件复制到目标目录前自动解压,2还支持使用url作为源路径从网络下载文件并复制到容器中,3在构建上下文中添加的文件可以是一个url,他会自动下载并复制到容器中,tips:建议用COPY,更简单直接 |
RUN | 执行linux的shell命令 如RUN mkdir -p /root/project |
EXPOSE | 指定容器运行时坚挺的端口,镜像使用者可看到 如EXPOSE 8800 |
ENTRYPOINT | 镜像中应用的启动命令,容器运行时调用 如ENTRYPOINT java -jar app.jar |
配置DOCKERFILE
配置python环境
# 使用官方Python运行时作为父镜像
FROM python:3.5
# 设置工作目录
WORKDIR /mtbe
# 将当前目录内容复制到位于/app中的容器中
COPY . /mtbe
# 安装selenium
RUN pip install flask
RUN pip install requests
RUN pip install --upgrade pip
RUN pip install pyquery
# 指定容器启动时执行的命令
CMD ["python", "main.py"]