2024年11月Linux系统使用Docker开发Django项目教程(4)

发布时间:

  ⑴同样,这创造了五项服务,都在不同的容器中运行:

  ⑵$ docker-pose ps

  ⑶Name mand State Ports

  ⑷----------------------------------------------------------------------------------------------

  ⑸dockerizingdjango_data_ /docker-entrypoint.sh true Up /tcp

  ⑹dockerizingdjango_nginx_ /usr/sbin/nginx Up ...:-》/tcp

  ⑺dockerizingdjango_postgres_ /docker-entrypoint.sh postgres Up ...:-》/tcp

  ⑻dockerizingdjango_redis_ /entrypoint.sh redis-server Up ...:-》/tcp

  ⑼dockerizingdjango_web_ /usr/local/bin/gunicorn do 。。. Up /tcp

  ⑽要查看哪些环境变量可用于 Web 服务,运行:

  ⑾$ docker-pose run web env

  ⑿要查看日志,运行:

  ⒀$ docker-pose logs

  ⒁您也可以进入 Postgres Shell - - 因为我们已经通过 docker-pose.yml 文件设置在数据库中通过添加用户/角色,端口转发到主机环境中:

  ⒂$ psql -h ... -p -U postgres --password

  ⒃准备部署?先停止运行 docker-pose stop,然后让我们的应用程序在云中运行!

  ⒄与我们在本地运行应用程序一样,我们现在可以 push 到与 Docker Machine 环境完全相同的云托管服务提供商。现在让我们部署到 Digital Ocean 中。

  ⒅您注册 Digital Ocean 之后,产生个人访问令牌 「Personal Aess Token」,然后运行以下命令:

  ⒆$ docker-machine create

  ⒇-d digitalocean

  ⒈--digitalocean-aess-token=ADD_YOUR_TOKEN_HERE

  ⒉Production

  ⒊这将需要几分钟时间来提供 droplet , 并设置一个新的 Docker Machine 产品环境:

  ⒋INFO[] Creating SSH key.。。

  ⒌INFO[] Creating Digital Ocean droplet.。。

  ⒍INFO[] “production” has been created and is now the active machine.

  ⒎INFO[] To point your Docker client at it, run this in your shell: eval “$(docker-machine env production”

  ⒏现在我们有两台机器运行,一是在本地,一个在 Digital Ocean:

  ⒐$ docker-machine ls

  ⒑NAME ACTIVE DRIVER STATE URL

  ⒒dev * virtualbox Running

  ⒓production digitalocean Running

  ⒔设置 production 为激活机器并加载 Docker 环境到 shell:

  ⒕$ docker-machine active production

  ⒖$ eval “$(docker-machine env production”

  ⒗最后,让我们在云上再次构建 Django 的应用程序。这时候我们就需要使用一个稍微不同的 Docker pose 文件,不需要安装在容器里。为什么呢?因为容器本身非常适合本地开发,这样我们可以更新「Web」目录的本地代码,并且更改代码立刻对容器产生影响。在生 产中,很明显没有这个必要。

  ⒘$ docker-pose build

  ⒙$ docker-pose up -d -f production.yml

  ⒚$ docker-pose run web /usr/local/bin/python manage.py migrate

  ⒛获取与 Digital Ocean 帐户相关联的 IP 地址,并在浏览器中查看它。如果一切顺利,你应该可以看到你的应用程序在运行。

  ①以上就是Linux系统使用Docker开发Django项目教程了,配置完Docker后就可以在Docker上面轻松地进行Django项目开发了。