文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

docker 运行python web服

2023-01-31 06:10

关注

创建一个最最简单的python+django项目,然后在docker容器中运行。
环境:
192.168.174.134服务器中
docker镜像: python:2(python2.7.15)
django: 1.8.3
1. 在134服务器中创建python项目
django-admin startproject ops
python manage.py migrate
创建一个root用户
python manage.py createsuperuser

root@ubuntu:~/ops# pwd
/root/ops
root@ubuntu:~/ops# ls
db.sqlite3  manage.py  ops
root@ubuntu:~/ops# ls ops
__init__.py  __init__.pyc  settings.py  settings.pyc  urls.py  urls.pyc  wsgi.py  wsgi.pyc

运行验证:python manage.py runserver 0.0.0.0:8888
访问python admin,验证服务ok
http://192.168.174.134:8888/admin/
在这里插入图片描述

2. docker pull python:2将镜像pull下来

root@ubuntu:~/ops# docker images | grep python
python                                 2                   6f0ab4c651e7        4 days ago          907.7 MB

3. 编写Dockerfile

root@ubuntu:~/docker/dockerfile# ls
Django-1.8.3.tar.gz  Dockerfile  Dockerfile.bak  ops  ops.tar.gz
root@ubuntu:~/docker/dockerfile# cat Dockerfile
FROM python:2
ADD Django-1.8.3.tar.gz /usr/local/src

WORKDIR /usr/local/src/Django-1.8.3

RUN python setup.py install
ADD ops.tar.gz /code

WORKDIR /code/ops

ENV PATH /usr/bin/python:$PATH

EXPOSE 8888

CMD ["/bin/bash", "run.sh"]

其中run.sh放在了ops项目的目录下,为启动python服务的脚本

root@ubuntu:~/docker/dockerfile/ops# ls
db.sqlite3  manage.py  ops  run.sh
root@ubuntu:~/docker/dockerfile/ops# cat run.sh 
python /code/ops/manage.py runserver 0.0.0.0:8888
root@ubuntu:~/docker/dockerfile/ops# pwd
/root/docker/dockerfile/ops

4. 通过Dockerfile构建镜像
docker build -t ops:v1 .
之前构建过了,构建日志比较简单了

Sending build context to Docker daemon 7.351 MB
Sending build context to Docker daemon 
Step 0 : FROM python:2
 ---> 6f0ab4c651e7
Step 1 : ADD Django-1.8.3.tar.gz /usr/local/src
 ---> Using cache
 ---> 3396d9f2fe48
Step 2 : WORKDIR /usr/local/src/Django-1.8.3
 ---> Using cache
 ---> 4748eaa68a72
Step 3 : RUN python setup.py install
 ---> Using cache
 ---> 2c9ed9c547b2
Step 4 : ADD ops.tar.gz /code
 ---> Using cache
 ---> 8a513509c908
Step 5 : WORKDIR /code/ops
 ---> Using cache
 ---> b097beb37496
Step 6 : ENV PATH /usr/bin/python:$PATH
 ---> Using cache
 ---> 3264fc493457
Step 7 : EXPOSE 8888
 ---> Using cache
 ---> c719b6159390
Step 8 : CMD /bin/bash run.sh
 ---> Using cache
 ---> 9f1e094d0189
Successfully built 9f1e094d0189

查看镜像:

root@ubuntu:~/docker/dockerfile# docker images | grep ops
ops                                    v1                  f3fccc152eaa        11 seconds ago      983.8 MB

5. 创建运行容器

root@ubuntu:~/docker/dockerfile# docker run -d --name ops -p 8888:8888 ops:v1
eeb14a3e7ea034f93a3e9158734e1f63fce85cb267a836b45d410fbd88306c64

查看将容器中的8888端口映射到本机的8888端口

root@ubuntu:~/docker/dockerfile# docker ps -l
CONTAINER ID        IMAGE               COMMAND              CREATED             STATUS              PORTS                    NAMES
eeb14a3e7ea0        ops:v1              "/bin/bash run.sh"   35 seconds ago      Up 34 seconds       0.0.0.0:8888->8888/tcp   ops
root@ubuntu:~/docker/dockerfile# netstat -antp | grep 8888
tcp6       0      0 :::8888                 :::*                    LISTEN      52832/docker-proxy

访问验证
在这里插入图片描述

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯