docker部署后端

Docker部署后端


基础环境是在阿里云服务器


参考文章,见本博客栏Dockerfile部署LNMP

后端连接redis时,需要注意IP地址的问题。
Docker容器在生成镜像时,berdge网络(桥接网络)是可以访问到容器外的宿主系统网络。也就是说,要连接的redisip地址请写外部的ip地址。阿里云的服务器写内网地址。

文件结构
test文件夹  ---> dockerfile
		   ---> 项目文件夹 	---> test.py(后端文件)
		   				    ---> static
		   				    ...
 

test文件夹下,执行命令
docker build -t test_tornado .

后边有点,镜像名是test_tornado,可以更改


这样就可以啦!

看一下dockerfile里面都写了什么

# from Images to daocloud.io/library/python

FROM daocloud.io/library/python
MAINTAINER Auther haitanghuadeng = https://github.com/haitanghuadeng

COPY ["yunzhou", "/"]
RUN pip3 install tornado
RUN pip3 install python_redis
RUN rm -irf /yunzhou/

EXPOSE 80
EXPOSE 443

FROM代表镜像依赖于什么镜像

第二行是写作者是谁,还是本文作者我啊!

COPY是将test文件夹下的项目文件夹复制到新镜像的/根目录。

RUN是要在镜像中执行的命令,阻塞型在最后。

EXPOSE开放端口,可以理解为阿里云的安全组,不开放不让用。可以写多个,跟在后边。


dockerfile可以被用在网络上,文件本身可以在OSS对象存储服务中。或者是链接资源中URL.

在执行完命令之后,得到一个新的镜像。如果你需要图文,可以去我的博客中看一下dockerfile部署LNMP,不过那个时候是在windows上的docker

创建容器,执行下面的指令。

docker run -itd -p 8080:80 -p 443:443 test_tornado python3 test.py

两个-p8080代表外部端口,80代表容器内部端口。当然这个时候不需要将redis的端口暴露出来,因为要访问的数据库是在外边。如果只暴露一个端口,只需要写一个-p


查询容器
# 查询所有的容器,包括停止的,推荐!
docker ps -a 
# 查询正在运行的容器
docker ps 

关闭删除容器
docker stop 容器ID
docker rm 容器ID
删除镜像
docker rmi 镜像名

删除时,需要注意该镜像没有被使用,如果正在被使用,是无法删除的。


好了,本篇文章就到这里了,希望能够帮助到看文章的小伙伴们!如果没有帮助到,还请见谅!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值