手动构建自己的docker容器镜像需要以下几个步骤:
1.编写Dockerfile:Dockerfile是定义docker容器镜像的配置文件,它包含了构建镜像所需要的所有操作指令,如从基础镜像开始构建、安装软件包、配置环境等。
以下是一个简单的Dockerfile示例:
# 使用ubuntu 18.04作为基础镜像
FROM ubuntu:18.04
# 安装必要的软件包
RUN apt-get update \
&& apt-get -y install nginx
# 拷贝工作目录的文件到容器内指定路径,这里拷贝的是当前目录下的index.html文件
COPY index.html /var/www/html/
# 暴露80端口
EXPOSE 80
# 配置Nginx
CMD ["nginx", "-g", "daemon off;"]
这个Dockerfile定义了一个基于ubuntu 18.04的Nginx镜像,安装Nginx并拷贝一个index.html文件到容器内指定路径,然后暴露80端口并启动Nginx服务。
2.构建镜像:在Dockerfile所在目录下使用docker build命令构建镜像,命令格式为:docker build -t <镜像名称>:<标签> <Dockerfile路径>
。
方式1: 默认使用 Dockerfile 目录
docker build -t mynginx:1.0 .
# 这里点号"."表示当前路径(即Dockerfile所在的目录),如果Dockerfile在其他路径下可以指定绝对路径
方式2:自定义Dockerfile文件名称
docker build -t mynginx:1.0 -f myDockerfile .
# -f 指定Dockerfile的文件名为myDockerfile
3.启动容器:在镜像构建完成后,可以使用docker run命令启动容器,命令格式为:docker run -p <宿主机端口>:<容器内端口> -d <镜像名称>:<标签>
。
docker run -p 8080:80 -d mynginx:1.0
# 指定将容器的80端口映射到宿主机的8080端口
以上是手动构建docker容器镜像的简单流程。下面将用两个示例说明手动构建docker容器镜像的具体步骤。
示例一:构建一个简单的Python Flask应用镜像
1.创建项目目录
mkdir flask
cd flask
2.编写Dockerfile
# 使用python 3.6作为基础镜像
FROM python:3.6
# 创建应用目录
WORKDIR /app
# 安装应用依赖包
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
# 拷贝应用代码到容器内指定路径
COPY app.py /app
# 暴露5000端口
EXPOSE 5000
# 启动应用
CMD ["python3", "app.py"]
在项目目录下,创建一个app.py文件,编写Python Flask应用代码:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'Hello World!'
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=5000)
3.构建镜像
docker build -t myflaskapp:1.0 .
4.启动容器
docker run -p 5000:5000 -d myflaskapp:1.0
现在,Python Flask应用已经运行在docker容器中,可以在浏览器中通过 http://localhost:5000 访问应用。
示例二:构建一个基于Java的Spring Boot应用镜像
1.创建项目目录
mkdir springboot
cd springboot
2.编写Dockerfile
# 使用openjdk 8作为基础镜像
FROM openjdk:8
# 创建应用目录
WORKDIR /app
# 拷贝jar文件到容器内指定路径
COPY target/myapp.jar /app
# 暴露8080端口
EXPOSE 8080
# 启动应用
CMD ["java", "-jar", "myapp.jar"]
在Spring Boot应用项目中,使用Maven或Gradle工具构建应用并生成可执行jar包,执行mvn package
或./gradlew build
即可,这里假设生成的可执行jar包名为myapp.jar
。
3.构建镜像
docker build -t myspringbootapp:1.0 .
4.启动容器
docker run -p 8080:8080 -d myspringbootapp:1.0
现在,Spring Boot应用已经运行在docker容器中,可以在浏览器中通过 http://localhost:8080 访问应用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:手动构建自己的docker容器镜像实战 - Python技术站