时间:2017-08-17来源:系统城装机大师作者:zhijie
同样,这创造了五项服务,都在不同的容器中运行:
$ docker-compose ps
Name Command State Ports
----------------------------------------------------------------------------------------------
dockerizingdjango_data_1 /docker-entrypoint.sh true Up 5432/tcp
dockerizingdjango_nginx_1 /usr/sbin/nginx Up 0.0.0.0:80-》80/tcp
dockerizingdjango_postgres_1 /docker-entrypoint.sh postgres Up 0.0.0.0:5432-》5432/tcp
dockerizingdjango_redis_1 /entrypoint.sh redis-server Up 0.0.0.0:6379-》6379/tcp
dockerizingdjango_web_1 /usr/local/bin/gunicorn do 。。. Up 8000/tcp
要查看哪些环境变量可用于 Web 服务,运行:
$ docker-compose run web env
要查看日志,运行:
$ docker-compose logs
您也可以进入 Postgres Shell - - 因为我们已经通过 docker-compose.yml 文件设置在数据库中通过添加用户/角色,端口转发到主机环境中:
$ psql -h 192.168.99.100 -p 5432 -U postgres --password
准备部署?先停止运行 docker-compose stop,然后让我们的应用程序在云中运行!
部署
与我们在本地运行应用程序一样,我们现在可以 push 到与 Docker Machine 环境完全相同的云托管服务提供商。现在让我们部署到 Digital Ocean 中。
您注册 Digital Ocean 之后,产生个人访问令牌 「Personal Access Token」,然后运行以下命令:
$ docker-machine create \
-d digitalocean \
--digitalocean-access-token=ADD_YOUR_TOKEN_HERE \
Production
这将需要几分钟时间来提供 droplet , 并设置一个新的 Docker Machine 产品环境:
INFO[0000] Creating SSH key.。。
INFO[0001] Creating Digital Ocean droplet.。。
INFO[0133] “production” has been created and is now the active machine.
INFO[0133] 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 tcp://192.168.99.100:2376
production digitalocean Running tcp://104.131.107.8:2376
设置 production 为激活机器并加载 Docker 环境到 shell:
$ docker-machine active production
$ eval “$(docker-machine env production)”
最后,让我们在云上再次构建 Django 的应用程序。这时候我们就需要使用一个稍微不同的 Docker Compose 文件,不需要安装在容器里。为什么呢?因为容器本身非常适合本地开发,这样我们可以更新「Web」目录的本地代码,并且更改代码立刻对容器产生影响。在生 产中,很明显没有这个必要。
$ docker-compose build
$ docker-compose up -d -f production.yml
$ docker-compose run web /usr/local/bin/python manage.py migrate
获取与 Digital Ocean 帐户相关联的 IP 地址,并在浏览器中查看它。如果一切顺利,你应该可以看到你的应用程序在运行。
以上就是Linux系统使用Docker开发Django项目教程了,配置完Docker后就可以在Docker上面轻松地进行Django项目开发了。
2024-07-18
Centos 7 二进制安装配置 MariaDB数据库2024-07-18
Centos7默认firewalld防火墙使用命令大全2024-07-07
四种执行python系统命令的方法常用权限linux系统内有档案有三种身份 u:拥有者 g:群组 o:其他人这些身份对于文档常用的有下面权限:r:读权限,用户可以读取文档的内容,如用cat,more查看w:写权限,用户可以编辑文档x...
2024-07-07
然而,如果我们遵循通常的 WordPress 最佳实践,这些安全问题可以避免。在本篇中,我们会向你展示如何使用 WPSeku,一个 Linux 中的 WordPress 漏洞扫描器,它可以被用来找出你安装...
2024-07-03