zoukankan      html  css  js  c++  java
  • 6.19 docker (一)实战Django

     

    实战 Django

    [root@node ~]# mkdir django_test

    [root@node ~]# cd django_test/

    第一步,因为应用将要运行在一个满足所有环境依赖的 Docker 容器里面,那么我们可以通过编辑 Dockerfile 文件来指定 Docker 容器要安装内容。内容如下
    [root@node django_test]#vi  Dockerfile

    FROM python:3
    ENV PYTHONUNBUFFERED 1
    RUN mkdir /code
    WORKDIR /code
    ADD requirements.txt /code/
    RUN pip install -r requirements.txt
    ADD . /code/

    第1行的FROM指令表示新的镜像将基于python:2.7的镜像来构建 
    第2行的ENV为环境变量(PYTHONUNBUFFERED见这里) 
    第3行的RUN指令表示在镜像内新建/code目录 
    第4行指定指定RUN、CMD与ENTRYPOINT命令的工作目录 
    第5行是将./mysite/requirements.txt文件添加到刚才新建的code目录中 
    第6行运行pip安装所需的软件

    第二步,在 requirements.txt 文件里面写明需要安装的具体依赖包名。
    [root@node django_test]# vi requirements.txt

    Django>=1.8,<2.0
    psycopg2
    第三步,docker-compose.yml 文件将把所有的东西关联起来。它描述了应用的构成(一个 web 服务和一个数据库)、使用的 Docker 镜像、镜像之间的连接、挂载到容器的卷,以及服务开放的端口。

    [root@node django_test]# vi docker-compose.yml

    version: "3"
    services:
    
      db:
        image: postgres
    
      web:
        build: .
        command: python3 manage.py runserver 0.0.0.0:8000
        volumes:
          - .:/code
        ports:
          - "8000:8000"
        links:
          - db

    db标签: 
    images表示使用 postgres镜像 

     

    web标签: 
    build指定建立Dockerfile路径 
    command将覆盖默认的命令 
    ports指定主机开放的端口 
    links指向其他容器中的服务

    docker-compose run 命令启动一个 Django 应用了。

    [root@node django_test]# docker-compose run web django-admin.py startproject composeexample .

    更改权限

    [root@node django_test]# chown -R $USER:$USER .

    我们要为应用设置好数据库的连接信息。用以下内容替换composeexample/settings.py 文件中 DATABASES = ... 定义的节点内容。

    [root@node django_test]# cd composeexample/
    [root@node composeexample]# vi settings.py

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql',
            'NAME': 'postgres',
            'USER': 'postgres',
            'HOST': 'db',
            'PORT': 5432,
        }
    }

    运行 docker-compose up

    [root@node django_test]# docker-compose up

     这个 Django 应用已经开始在你的 Docker 守护进程里监听着 8000 端口了。打开 127.0.0.1:8000 即可看到 Django 欢迎页面。

     

  • 相关阅读:
    Bash 命令的解析
    vscode ctrl+P 打开文件后固定文件
    Linux 使用 tree 命令生成文件目录结构
    分享一款“暗黑系列”Idea主题插件Material Theme【改】
    linux上搭建svn服务器并设置自启动
    springBoot项目里获取resource目录下的文件(可用于各种linux服务器部署)【我】
    linux下svn与apache整合搭建
    liunx设置utf-8
    Fiddler抓包,并修改请求数据
    解决vue+el使用this.$confirm,不能阻断代码往下执行
  • 原文地址:https://www.cnblogs.com/guogle/p/11051980.html
Copyright © 2011-2022 走看看