文章目录
1 SpringBoot微服务打包Docker镜像
1.1 构建springboot项目


package com.example.springboot.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
http://127.0.0.1/hello
1.2 打包应用

本地cmd测试
java -jar demo-0.0.1-SNAPSHOT.jar
1.3 编写dockerfile
FROM java:8
COPY *.jar /app.jar
CMD ["--server.port=8080"]
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app.jar"]
上传文件:
-
demo-0.0.1-SNAPSHOT.jar
-
Dockerfile
1.4 构建镜像
docker build -t springboot-hello .
1.4 启动容器
docker run -d -P --name springboot-hello-web springboot-hello
curl localhost:49160/hello
2 部署python项目
2.1 创建项目
app.py
import time
import redis
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello World!'
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8080, debug=True)
requirements.txt
flask
2.2 创建 dockerfile
# syntax=docker/dockerfile:1
FROM python:3.8-alpine
ADD . /code
WORKDIR /code
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
CMD ["python", "app.py"]
2.3 构建镜像
docker build -t py-test .
2.4 启动容器
docker run -d -p 8080:8080 --name py-test01 py-test
<p><h3>文章目录</h3><ul><ul><li><a href="#1_SpringBootDocker_2">1 SpringBoot微服务打包Docker镜像</a></li><ul><li><a href="#11_springboot_4">1.1 构建springboot项目</a></li><li><a href="#12__31">1.2 打包应用</a></li><li><a href="#13_dockerfile_43">1.3 编写dockerfile</a></li><li><a href="#14__63">1.4 构建镜像</a></li><li><a href="#14__69">1.4 启动容器</a></li></ul><li><a href="#2_python_78">2 部署python项目</a></li><ul><li><a href="#21__80">2.1 创建项目</a></li><li><a href="#22__dockerfile_107">2.2 创建 `dockerfile`</a></li><li><a href="#23__119">2.3 构建镜像</a></li><li><a href="#24__125">2.4 启动容器</a></li></ul></ul></ul></p>
<h2><a id="1_SpringBootDocker_2"></a>1 SpringBoot微服务打包Docker镜像</h2>
<h3><a id="11_springboot_4"></a>1.1 构建springboot项目</h3>
<p><img src="https://static.couragesteak.com/article/bfcae212efa4bee4fa592e34c00682ec.png" alt="" /></p>
<p><img src="https://static.couragesteak.com/article/1a44115f99785d0de7af3b69feb7d727.png" alt="" /></p>
<pre><div class="hljs"><code class="lang-java"><span class="hljs-keyword">package</span> com.example.springboot.demo;
<span class="hljs-keyword">import</span> org.springframework.boot.SpringApplication;
<span class="hljs-keyword">import</span> org.springframework.boot.autoconfigure.SpringBootApplication;
<span class="hljs-meta">@SpringBootApplication</span>
<span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title class_">DemoApplication</span> {
<span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title function_">main</span><span class="hljs-params">(String[] args)</span> {
SpringApplication.run(DemoApplication.class, args);
}
}
</code></div></pre>
<p>http://127.0.0.1/hello</p>
<h3><a id="12__31"></a>1.2 打包应用</h3>
<p><img src="https://static.couragesteak.com/article/3d3cd8258e68238acaddaad87e7aa35f.png" alt="" /></p>
<p>本地cmd测试</p>
<pre><div class="hljs"><code class="lang-shell">java -jar demo-0.0.1-SNAPSHOT.jar
</code></div></pre>
<h3><a id="13_dockerfile_43"></a>1.3 编写dockerfile</h3>
<pre><div class="hljs"><code class="lang-shell">FROM java:8
COPY *.jar /app.jar
CMD ["--server.port=8080"]
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app.jar"]
</code></div></pre>
<p>上传文件:</p>
<ul>
<li>
<p>demo-0.0.1-SNAPSHOT.jar</p>
</li>
<li>
<p>Dockerfile</p>
</li>
</ul>
<h3><a id="14__63"></a>1.4 构建镜像</h3>
<pre><div class="hljs"><code class="lang-shell">docker build -t springboot-hello .
</code></div></pre>
<h3><a id="14__69"></a>1.4 启动容器</h3>
<pre><div class="hljs"><code class="lang-shell">docker run -d -P --name springboot-hello-web springboot-hello
</code></div></pre>
<p>curl localhost:49160/hello</p>
<h2><a id="2_python_78"></a>2 部署python项目</h2>
<h3><a id="21__80"></a>2.1 创建项目</h3>
<p><code>app.py</code></p>
<pre><code class="lang-powershell">import time
import redis
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello World!'
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8080, debug=True)
</code></pre>
<p><code>requirements.txt</code></p>
<pre><code class="lang-powershell">flask
</code></pre>
<h3><a id="22__dockerfile_107"></a>2.2 创建 <code>dockerfile</code></h3>
<pre><code class="lang-powershell"># syntax=docker/dockerfile:1
FROM python:3.8-alpine
ADD . /code
WORKDIR /code
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
CMD ["python", "app.py"]
</code></pre>
<h3><a id="23__119"></a>2.3 构建镜像</h3>
<pre><code class="lang-powershell">docker build -t py-test .
</code></pre>
<h3><a id="24__125"></a>2.4 启动容器</h3>
<pre><code class="lang-powershell">docker run -d -p 8080:8080 --name py-test01 py-test
</code></pre>
<ul>
<li>
<p><a href="https://blog.csdn.net/zx77588023/article/details/122702713" target="_blank">Docker进阶Swarm、Stack、Secret、Config (部署项目)</a></p>
</li>
<li>
<p><a href="https://blog.csdn.net/zx77588023/article/details/122689010" target="_blank">Dokcer进阶Compose 官方flask 实战docker-compose-spring-boot (部署项目)</a></p>
</li>
<li>
<p><a href="https://blog.csdn.net/zx77588023/article/details/122738852" target="_blank">docker构建镜像 发布镜像</a></p>
</li>
</ul>
留言