利用docker来部署自己的项目

2023-11-10

在部署自己项目时,开始时一头雾水。如果直接放在服务器上跑,既麻烦又不稳定。后来看到有写采用docker进行项目部署,前后折腾了一天,总算部署上去了,分享出来让大家少走点弯路。

 

整体的流程大概是这样的:

首先,准备环境,需要在本地部署docker,在下面网站进行下载即可,直接next就可以。

http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/

安装完后,编写自己的项目文件app.py,以及Dockerfile。

在本项目目录下构建镜像:

docker build -t 'test' .

通过docker images进行查看。当然前提是本地安装了docker,安装docker需要安装好git。具体的安装流程详见:

windows下安装docker详细步骤

Windows系统Git安装教程(详解Git安装过程)

docker-desktop下载地址

我用的是windows系统,非常不幸,前前后后折腾了大半天没搞定,只能曲线救国了。

 

这里,我采用的方法是在服务器上生成镜像文件,然后push到dockerhub私有仓库中,然后从私有仓库pull回服务器。

然后将镜像传送至云仓库。这里可以选择阿里云(腾讯云),我这里选的是dockerhub,主要是免费。而且dockerhub还有私有仓库。

在此之前,需要再dockerhub上创建一个私有仓库 比如 parhat/appnews (parhat用户名 appnews仓库名)

#登录docker,注意username与password要加引号
docker login --username username --password password 
#tag后面的参数 appnews 为image名称,最后的参数 parhat/appnews为仓库名 
docker tag appnews parhat/appnews 
#推送到parhat/appnews仓库
docker push parhat/appnews

在服务器上将镜像拉取下来,

#step1 登录docker,前面已经登录,省略
#step2 pull回来,其实在dockerhub中可以直接copy pull的内容
docker pull <host>/<project>/<repo>:<tag>
例如:docker pull dockerhub.xx.net/database/sfe:latest

采用docker images查看是否pull下来,然后进行结果运行

#这个开通的端口号8501一定不能错,sfe是我取的name,272是image对应的id前三位
docker run -itd -p 28080:8501 --name sfe 272

使用docker ps -a查看容器情况是否完全。

此时就可以打开你所部署的项目网址 服务器公网ip:28080

到这里为止,基本就完成了项目部署。根据不同的ip映射,可以部署多个项目,只要硬件配置ok就行。

 

本篇参考文章:

Docker部署Flask应用的实现步骤

Python3.6 使用 Docker 快速部署 Django2.0 项目到阿里云服务器上

基于阿里服务器搭建宝塔面板

宝塔面板搭建WordPress网站新手教程

阿里云服务器怎么搭建多个网站?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

利用docker来部署自己的项目 的相关文章

随机推荐

  • Qt Graphics View Framework 图形视图框架

    QT的2D绘图我们使用QPainter实现少量绘图是很理想的 但是如果是要绘制大量的2D图形并且需要能够控制管理时就会显得力不从心 好在QT视图体系提供了QGraphics View Framework的框架 使用这个框架可以将各图形项进行
  • MySQL 8.0用户管理

    1 禁止root用户远程访问 1 在安装MySQL数据库软件时 我们已经设置了禁止root远程登录 参见 https blog csdn net chengyuqiang article details 121282247 2 root用户
  • Kubernetes (k8s 1.23) 安装与卸载

    镜像下载 域名解析 时间同步请点击 阿里云开源镜像站 请注意k8s在1 24版本不支持docker容器 本文使用kubeadm进行搭建 1 查看系统版本信息以及修改配置信息 1 1 安装k8s时 临时关闭swap 如果不关闭在执行kubea
  • MySQL的sum函数优化

    有一张表 结构如下 Field Type Null Key Default Extra ID bigint 20 NO PRI NULL auto increment
  • 51单片机开发问题之不能直接对端口管脚输出高低点电平

    在做51单片机点亮一个了led的时候遇到一个问题 不能直接用P0 0 0 对单片机管脚输出高低电平 Keil编译器会报错 如图 用sbit定义一个变量来控制管脚就行
  • 网络安全学习路线是怎样的?从入门到入坟,看这篇就够了

    为什么要学习安全 近几年网络安全事件层出不穷 相信大家哪怕没遇到过 但也听过不少了吧 如服务器遭受入侵被黑 用户帐号被盗 被钓鱼 勒索病毒等 这些一旦发生 对企业而言都是不小的打击 因此 网络安全不容忽视 同时随着时代的不断发展 公司对于运
  • DOM0和DOM2

    DOM事件绑定 DOM0级事件 特点 所有的浏览器都支持 事件只能注册一次 后面的会覆盖旧的 注册方式 1 在html上添加 div div 其中this指向自身 2 匿名函数d nclick function 其中 this 指向自身 3
  • 美国科技大佬成功之前混得都有多惨

    摘要 超过三分之一在美国成立的顶尖高科技公司是由在国外出生的人创立的 他们的成功经验带动许多移民来到美国实现美国梦的希望 id cproIframe u1503021 2 width 250 height 250 src http pos
  • 使用DBN实现风速预测matlab代码

    使用DBN实现风速预测matlab代码 风速预测在实际生产生活中有着广泛的应用 对于风电场 农业灌溉 城市规划等领域都有着重要的意义 本文将介绍如何使用深度信念网络 Deep Belief Networks DBN 来实现风速预测 并提供相
  • Mysql数据库的导入和导出

    Mysql数据库的导入和导出 1 导入 2 导出 Mysql数据库的可移植性是比较好的 在命令行状态下可用仅仅一行的代码就实现数据库的导入和导出 不论是在Windows操作系统还是Linux操作系统下的命令行 命令基本上完全一致 1 导入
  • QT主窗口与子窗口互相传值笔记

    1 主窗口向子窗口传值 将子窗口定义为主窗口的成员变量 在子窗口中定义接受数据的成员变量 主窗口中可以使用子窗口成员变量来访问他的成员变量 于是就能直接赋值了 void Main wgt test son wgt num 18 2 子窗口向
  • PAT 1015 德才论 (25分) C语言实现

    1015 德才论 25分 宋代史学家司马光在 资治通鉴 中有一段著名的 德才论 是故才德全尽谓之圣人 才德兼亡谓之愚人 德胜才谓之君子 才胜德谓之小人 凡取人之术 苟不得圣人 君子而与之 与其得小人 不若得愚人 现给出一批考生的德才分数 请
  • 将文件或目录移动到另外的目录

    File or directory to be moved File file new File filename Destination directory File dir new File directoryname Move fil
  • Flutter编译卡在Running Gradle task ‘assembleDebug‘

    为什么卡在这一步 把网络断开 发现了问题 卡在了下载运行环境和依赖库的步骤 jcenter 下载速度太慢 知道原因就好办了 需要修改3个地方 1 首先找到fultter sdk所在文件夹的位置 依次进入 flutter packages f
  • 单端口RAM实现FIFO

    RAM分类 单口ram 单端口RAM只有一组数据线和一组地址线 只有一个时钟 读写共用地址线 输出只有一个端口 所以单端口RAM的读写操作不能同时进行 当wea拉高时 会将数据写入对应的地址 同时douta输出的数据与此时写入的数据是一致的
  • STC32G12K128内部集成的I2C总线实现oled12864显示

    STC32G 系列的单片机内部集成了一个 I2C 串行总线控制器 I2C 是一种高速同步通讯总线 通讯使用 SCL 时钟线 和 SDA 数据线 两线进行同步通讯 对于 SCL 和 SDA 的端口分 STC32G 系列的单片机提供了切换模式
  • springboot+mybatisplus 动态切换数据源——数据库(通过AOP获取head参数动态切换)

    写这个博客 是记录一下自己的学习过程 因为网上信息杂乱不清 所以此博客只做记录和分享作用 参考博客链接 https blog csdn net QiuHaoqian article details 120479890 再此基础上修改了一些
  • sqli-labs/Less-30

    首先判断一下是否为数字型注入 输入如下 id 1 id 1 and 1 2 回显如下 正确回显了 说明属于字符型注入 然后在判断是属于单引还是双引 输入1 回显如下 正确回显 再试一试双引号 输入1 回显如下 这告诉我们两件事情 1 这属于
  • Git 命令大全「全面且实用,值得收藏」

    用了这么久的 git 工具 中途也使用过 SourceTree 但是最后发现 还是代码香啊 虽然之前也写过一篇学习笔记 Git教程学习笔记和填坑总结 以及 SourceTree 工具的使用 但是感觉那篇还是笔记冗余 看起来不是很明确 所以
  • 利用docker来部署自己的项目

    在部署自己项目时 开始时一头雾水 如果直接放在服务器上跑 既麻烦又不稳定 后来看到有写采用docker进行项目部署 前后折腾了一天 总算部署上去了 分享出来让大家少走点弯路 整体的流程大概是这样的 首先 准备环境 需要在本地部署docker