利用docker来部署自己的项目

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

 

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

利用docker来部署自己的项目_第1张图片

首先,准备环境,需要在本地部署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 //:
例如: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网站新手教程

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

你可能感兴趣的:(学习,数据库)