Python项目打包为docker镜像并迁移
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python项目打包为docker镜像并迁移相关的知识,希望对你有一定的参考价值。
参考技术A 1.安装docker服务:centos 下直接yum安装
yum install docker
2.修改docker仓库地址为国内:
略
3.编写Dockerfile, 如下:
4.制作镜像:
docker build -f Dockerfile -t blogapp:1.0 .
ps:
最后一个参数是.号,别忘了加
制作镜像可能是一个漫长的过程。。。
途中有问题会中止,需要检查问题并修改Dockerfile,然后重新开始。。。
5.查看制作的镜像:
docker images
6.运行镜像,创建镜像实例,即运行容器:
docker run -it -p 192.168.5.109:8080:8888 blogapp:1.0
可以看到,项目已经正常开启,浏览器可以正常访问:
7.导出镜像为tar包:
docker image save -o blogapp.tar blogapp:1.0
8.在新机导入tar包为镜像:
docker load < blogapp.tar
9.查看新导入的镜像:
10.在新机运行镜像,后台开启容器:
docker run -it -p 192.168.5.110:8080:8888 blogapp:1.0
可以看到后台开启成功,浏览器访问新址:
已发布好的.NET Core项目文件如何打包为Docker镜像文件
问题描述
在博文(【Azure App Service For Container】创建ASP.NET Core Blazor项目并打包为Linux镜像发布到Azure应用服务)中我们通过VS 2019可以为项目添加Dockerfile并自动生成Docker Image文件。但是如果不借助于VS2019我们如何来操作呢?
解决步骤
准备Dockerfile
进入项目文件夹中,创建Dockerfile并COPY以下内容:
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
#Depending on the operating system of the host machines(s) that will build or run the containers, the image specified in the FROM statement may need to be changed.
#For more information, please see https://aka.ms/containercompat
FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
ENV ASPNETCORE_URLS=http://+:8000
WORKDIR /app
EXPOSE 8000
EXPOSE 5000
COPY . /app/
ENTRYPOINT ["dotnet", "MyLife.Blazor.Server.dll"]
FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base 和 FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build 可以在Docker Hub中查询到对于的版本镜像(https://hub.docker.com/_/microsoft-dotnet-sdk)
COPY . /app/ 即把dockerfile所在的目录中所有文件复制到镜像中app目录中
生成镜像
通过CMD进入到当前目录, 使用 docker build -t mywebimages . (特别注意:在命令中必须要点.,黄色高亮的部分替代为自定义的镜像名。详细的命令参考Docker说明:https://docs.docker.com/engine/reference/commandline/build/)
当命令运行完成后,在Docker Desktop页面中可以看见当前Images
运行镜像,验证项目运行成功
在Docker Desktop中Run当前Image或者通过docker run命令启动Container: docker run --name testweb -p 8080:8000 mywebimages
命令启动输出:
C:MyCodeMyLifeMyLife.BlazorMyLife.BlazorServerinRelease
et5.0publish>docker run --name testapidemo -p 8080:8000 mywebimages
|
访问Docker Container指定的端口8080结果为:
参考资料:
Docker Hub: https://hub.docker.com/_/microsoft-dotnet-sdk
创建ASP.NET Core Blazor项目并打包为Linux镜像发布到Azure应用服务: https://www.cnblogs.com/lulight/p/14315383.html
windows上用VS2019开发的 .NETCore项目如何打包部署到linux Docker中: https://blog.csdn.net/weixin_48000648/article/details/106524426
出处:https://www.cnblogs.com/lulight/p/14318686.html
以上是关于Python项目打包为docker镜像并迁移的主要内容,如果未能解决你的问题,请参考以下文章
利用Dockefile将Python的py文件项目代码打包为Docker镜像
已发布好的.NET Core项目文件如何打包为Docker镜像文件
Docker安装Jenkins打包Maven项目为Docker镜像并运行保姆级图文教学
Python Flask项目在Gitlab CI中自动打包Docker镜像