IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> docker部署Python网站 -> 正文阅读

[Python知识库]docker部署Python网站

趁着51又把docker基础重新学习了一遍,之前都是看课程,很少动手实践,看着像会了,其实提笔忘字,现在记忆力不行了,很多东西不练一练,基本看完就忘了,linux学习其实没那么难,多练练就好了~

最近的docker是跟于超哥学习的,大家可以到B站搜下课程支持一下,下边自己实践一下~

大概思路就是利用Python的flask框架,简单写一个Python文件跟docker的Dockerfile文件构建出一个images镜像,然后通过容器的8080端口映射到宿主机的8080端口跑起来,通过宿主机改端口来验证试验是否成功,并且介绍两种容器修改文件内容方式~

这是我提前写好的,简单介绍一下~
在这里插入图片描述

1、创建Python flask框架文件

vim xuyuhan_flask.py          #编写一个Python文件,名字可以自定义,Python文件后边后缀必须是.py结尾,自己打一下印象深一点,解释可能不太正确,自己也是小白
#xuyuhan:utf8             #指定UTF8格式,使中文不会出现乱码
from flask import Flask   #这是Python中的包导入,意思是从flask框架中导入flask模块
app=Flask(__name__)       #相当于shell中定义一个变量赋值
@app.route("/")           #写一个访问路由,此处的访问地址为 http://192.168.230.210/  的意思
def web():                #定义一个函数,如果上边的访问路由为/hello,那么此处可以写成 def hello
	return "hello docker, i am xuyuhan"      #return返回值,相当于shell中的echo
if __name__=="__main__":                   
        app.run(host='0.0.0.0',port=8080)        #0.0.0.0相当于绑定该容器所有网口,对外暴露8080端口

在这里插入图片描述

2、创建Dockerfile文件

vim Dockerfile    #编写一个Dockerfile文件,记得第一个字母必须大写,不懂得可以学习下docker镜像构建,相当于自己写一个镜像构建脚本而已
FROM centos:7.2.1511     #镜像使用时优先在本地查找,没有再到网上下载,我这里本地已经有这个版本了
RUN curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo   #更改该容器源为阿里云源
RUN curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo            #更改该容器源为阿里云源
RUN yum makecache fast          #清除原先的缓存
RUN yum install python3-devel python3-pip -y     #下载Python3依赖,必须是Python3才不会报错
RUN pip3 install -i https://pypi.douban.com/simple flask    # -i参数为指定下载源地址为豆瓣差不多的意思
COPY xuyuhan_flask.py /opt            #复制我当前目录的xuyuhan_flask.py文件到容器内/opt这里的意思
WORKDIR /opt                          # WORKDIR相当于cd命令的意思,就是进入容器后默认切换到到/opt这里
EXPOSE 8080                           #暴露该容器8080端口
CMD ["python3","xuyuhan_flask.py"]     #CMD相当于执行命令的意思,默认用Python3执行xuyuhan_flask.py的意思,这里的每一个命令后边必须写上,号,比较长

在这里插入图片描述

写好以上两个文件,检查没问题就可以开始构建了~

3、构建docker images

[root@docker ~]# docker build -t 'centos7.2web:xuyuhan' .         # -t指定'容器名:tag标签  --no-cache 不使用之前产生的缓存进行构建,后边的点表示构建当前目录下的Dockerfile文件,记得要跟前边有个空格

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

构建过程大概3分钟,因为有些东西要在线下载,所以也看网速,过程涉及链接啥的会出现红色标识,只要不出现error报错,都是小事情可以忽略,直到看到successfully,然后查看本地镜像~

4、使用新docker images创建容器

接下来试下运行该镜像

[root@docker ~]# docker run -d --name xuyuhanweb -p 100:8080 centos7.2web:xuyuhan
e69668f3db0c901c631a1f25f2320e4c264ab6d2e75c6716a2962dffd3680a55

# run表示启动并运行  -d表示后台运行  --name 指定容器生成名字  -p 100:8080 前边100端口是宿主机的,后边8080是该容器的  在后边centos7.2web:xuyuhan  镜像名:指定tag的意思
#生成一串ID表示创建成功
[root@docker ~]# docker ps   #查看docker运行的容器

在这里插入图片描述

5、访问该容器web页面

访问网页:宿主机IP:100端口,实验成功~
在这里插入图片描述

[root@docker ~]# docker exec -it e69668f3db0c /bin/bash
[root@e69668f3db0c opt]# 
#通过 exec -it 容器ID /bin/bash   进入容器内,输入exit退出,不影响该容器此时后台运行

在这里插入图片描述

6、docker特殊命令

一些用起来比较爽的暴力命令,生产环境慎用!!!

[root@docker ~]# docker ps -aq    #列出所有存活或死去的docker容器

[root@docker ~]# docker stop `docker ps -aq`   #强制所有正在运行的容器

[root@docker ~]# docker rm -f `docker ps -aq`    #强制删除所有存活或死去的docker容器,慎用指数三颗半星

7、增删、修改容器内文件

有很多种方式

一种是直接修改Dockerfile文件内ADD 或 COPY 指令内容,重新构建镜像。。。

或者exec -it 进入容器内进行修改

还能通过docker cp指令来将容器外文件传递到docker容器内

docker cp 本地文件路径 容器ID或容器NAME:容器内路径

在这里插入图片描述
在这里插入图片描述
还有这些
在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-05-06 11:01:43  更:2022-05-06 11:02:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:02:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码