亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

directory search
Compose About versions and upgrading (Compose) ASP.NET Core + SQL Server on Linux (Compose) CLI environment variables (Compose) Command-line completion (Compose) Compose(組成) Compose command-line reference(組合命令行參考) Control startup order (Compose) Django and PostgreSQL (Compose) Docker stacks and distributed application bundles (Compose) docker-compose build(docker-compose構(gòu)建) docker-compose bundle docker-compose config docker-compose create docker-compose down docker-compose events docker-compose exec docker-compose help docker-compose images docker-compose kill docker-compose logs docker-compose pause docker-compose port docker-compose ps docker-compose pull docker-compose push docker-compose restart docker-compose rm docker-compose run docker-compose scale docker-compose start docker-compose stop docker-compose top docker-compose unpause docker-compose up Environment file (Compose) Environment variables in Compose Extend services in Compose Frequently asked questions (Compose) Getting started (Compose) Install Compose Link environment variables (deprecated) (Compose) Networking in Compose Overview of Docker Compose Overview of docker-compose CLI Quickstart: Compose and WordPress Rails and PostgreSQL (Compose) Sample apps with Compose Using Compose in production Using Compose with Swarm Engine .NET Core application (Engine) About images, containers, and storage drivers (Engine) Add nodes to the swarm (Engine) Apply custom metadata (Engine) Apply rolling updates (Engine) apt-cacher-ng Best practices for writing Dockerfiles (Engine) Binaries (Engine) Bind container ports to the host (Engine) Breaking changes (Engine) Build your own bridge (Engine) Configure container DNS (Engine) Configure container DNS in user-defined networks (Engine) CouchDB (Engine) Create a base image (Engine) Create a swarm (Engine) Customize the docker0 bridge (Engine) Debian (Engine) Default bridge network Delete the service (Engine) Deploy a service (Engine) Deploy services to a swarm (Engine) Deprecated Engine features Docker container networking (Engine) Docker overview (Engine) Docker run reference (Engine) Dockerfile reference (Engine) Dockerize an application Drain a node (Engine) Engine FAQ (Engine) Fedora (Engine) Get started (Engine) Get started with macvlan network driver (Engine) Get started with multi-host networking (Engine) How nodes work (Engine) How services work (Engine) Image management (Engine) Inspect the service (Engine) Install Docker (Engine) IPv6 with Docker (Engine) Join nodes to a swarm (Engine) Legacy container links (Engine) Lock your swarm (Engine) Manage nodes in a swarm (Engine) Manage sensitive data with Docker secrets (Engine) Manage swarm security with PKI (Engine) Manage swarm service networks (Engine) Migrate to Engine 1.10 Optional Linux post-installation steps (Engine) Overview (Engine) PostgreSQL (Engine) Raft consensus in swarm mode (Engine) Riak (Engine) Run Docker Engine in swarm mode Scale the service (Engine) SDKs (Engine) Select a storage driver (Engine) Set up for the tutorial (Engine) SSHd (Engine) Storage driver overview (Engine) Store service configuration data (Engine) Swarm administration guide (Engine) Swarm mode key concepts (Engine) Swarm mode overlay network security model (Engine) Swarm mode overview (Engine) Understand container communication (Engine) Use multi-stage builds (Engine) Use swarm mode routing mesh (Engine) Use the AUFS storage driver (Engine) Use the Btrfs storage driver (Engine) Use the Device mapper storage driver (Engine) Use the OverlayFS storage driver (Engine) Use the VFS storage driver (Engine) Use the ZFS storage driver (Engine) Engine: Admin Guide Amazon CloudWatch logs logging driver (Engine) Bind mounts (Engine) Collect Docker metrics with Prometheus (Engine) Configuring and running Docker (Engine) Configuring logging drivers (Engine) Control and configure Docker with systemd (Engine) ETW logging driver (Engine) Fluentd logging driver (Engine) Format command and log output (Engine) Google Cloud logging driver (Engine) Graylog Extended Format (GELF) logging driver (Engine) Journald logging driver (Engine) JSON File logging driver (Engine) Keep containers alive during daemon downtime (Engine) Limit a container's resources (Engine) Link via an ambassador container (Engine) Log tags for logging driver (Engine) Logentries logging driver (Engine) PowerShell DSC usage (Engine) Prune unused Docker objects (Engine) Run multiple services in a container (Engine) Runtime metrics (Engine) Splunk logging driver (Engine) Start containers automatically (Engine) Storage overview (Engine) Syslog logging driver (Engine) tmpfs mounts Troubleshoot volume problems (Engine) Use a logging driver plugin (Engine) Using Ansible (Engine) Using Chef (Engine) Using Puppet (Engine) View a container's logs (Engine) Volumes (Engine) Engine: CLI Daemon CLI reference (dockerd) (Engine) docker docker attach docker build docker checkpoint docker checkpoint create docker checkpoint ls docker checkpoint rm docker commit docker config docker config create docker config inspect docker config ls docker config rm docker container docker container attach docker container commit docker container cp docker container create docker container diff docker container exec docker container export docker container inspect docker container kill docker container logs docker container ls docker container pause docker container port docker container prune docker container rename docker container restart docker container rm docker container run docker container start docker container stats docker container stop docker container top docker container unpause docker container update docker container wait docker cp docker create docker deploy docker diff docker events docker exec docker export docker history docker image docker image build docker image history docker image import docker image inspect docker image load docker image ls docker image prune docker image pull docker image push docker image rm docker image save docker image tag docker images docker import docker info docker inspect docker kill docker load docker login docker logout docker logs docker network docker network connect docker network create docker network disconnect docker network inspect docker network ls docker network prune docker network rm docker node docker node demote docker node inspect docker node ls docker node promote docker node ps docker node rm docker node update docker pause docker plugin docker plugin create docker plugin disable docker plugin enable docker plugin inspect docker plugin install docker plugin ls docker plugin push docker plugin rm docker plugin set docker plugin upgrade docker port docker ps docker pull docker push docker rename docker restart docker rm docker rmi docker run docker save docker search docker secret docker secret create docker secret inspect docker secret ls docker secret rm docker service docker service create docker service inspect docker service logs docker service ls docker service ps docker service rm docker service scale docker service update docker stack docker stack deploy docker stack ls docker stack ps docker stack rm docker stack services docker start docker stats docker stop docker swarm docker swarm ca docker swarm init docker swarm join docker swarm join-token docker swarm leave docker swarm unlock docker swarm unlock-key docker swarm update docker system docker system df docker system events docker system info docker system prune docker tag docker top docker unpause docker update docker version docker volume docker volume create docker volume inspect docker volume ls docker volume prune docker volume rm docker wait Use the Docker command line (Engine) Engine: Extend Access authorization plugin (Engine) Docker log driver plugins Docker network driver plugins (Engine) Extending Engine with plugins Managed plugin system (Engine) Plugin configuration (Engine) Plugins API (Engine) Volume plugins (Engine) Engine: Security AppArmor security profiles for Docker (Engine) Automation with content trust (Engine) Content trust in Docker (Engine) Delegations for content trust (Engine) Deploying Notary (Engine) Docker security (Engine) Docker security non-events (Engine) Isolate containers with a user namespace (Engine) Manage keys for content trust (Engine) Play in a content trust sandbox (Engine) Protect the Docker daemon socket (Engine) Seccomp security profiles for Docker (Engine) Secure Engine Use trusted images Using certificates for repository client verification (Engine) Engine: Tutorials Engine tutorials Network containers (Engine) Get Started Part 1: Orientation Part 2: Containers Part 3: Services Part 4: Swarms Part 5: Stacks Part 6: Deploy your app Machine Amazon Web Services (Machine) Digital Ocean (Machine) docker-machine active docker-machine config docker-machine create docker-machine env docker-machine help docker-machine inspect docker-machine ip docker-machine kill docker-machine ls docker-machine provision docker-machine regenerate-certs docker-machine restart docker-machine rm docker-machine scp docker-machine ssh docker-machine start docker-machine status docker-machine stop docker-machine upgrade docker-machine url Driver options and operating system defaults (Machine) Drivers overview (Machine) Exoscale (Machine) Generic (Machine) Get started with a local VM (Machine) Google Compute Engine (Machine) IBM Softlayer (Machine) Install Machine Machine Machine CLI overview Machine command-line completion Machine concepts and help Machine overview Microsoft Azure (Machine) Microsoft Hyper-V (Machine) Migrate from Boot2Docker to Machine OpenStack (Machine) Oracle VirtualBox (Machine) Provision AWS EC2 instances (Machine) Provision Digital Ocean Droplets (Machine) Provision hosts in the cloud (Machine) Rackspace (Machine) VMware Fusion (Machine) VMware vCloud Air (Machine) VMware vSphere (Machine) Notary Client configuration (Notary) Common Server and signer configurations (Notary) Getting started with Notary Notary changelog Notary configuration files Running a Notary service Server configuration (Notary) Signer configuration (Notary) Understand the service architecture (Notary) Use the Notary client
characters

本快速入門指南演示了如何使用Docker Compose來設(shè)置和運行簡單的Django / PostgreSQL應(yīng)用程序。在開始之前,您需要安裝Compose。

定義項目組件

對于這個項目,你需要創(chuàng)建一個Dockerfile,一個Python依賴關(guān)系文件和一個docker-compose.yml文件。(您可以使用此文件的擴展名.yml.yaml擴展名。)

  1. 創(chuàng)建一個空的項目目錄。您可以為該目錄命名一些容易記憶的內(nèi)容。該目錄是應(yīng)用程序映像的上下文。該目錄應(yīng)該只包含構(gòu)建該映像的資源。

  2. Dockerfile在您的項目目錄中創(chuàng)建一個新文件。Dockerfile通過一個或多個配置該映像的構(gòu)建命令來定義應(yīng)用程序的映像內(nèi)容。一旦建成,你可以在一個容器中運行圖像。有關(guān)更多信息Dockerfiles,請參閱Docker用戶指南和Dockerfile參考。

  3. 將以下內(nèi)容添加到Dockerfile。FROM python:3 ENV PYTHONUNBUFFERED 1 RUN mkdir / code WORKDIR / code ADD requirements.txt / code / RUN pip install -r requirements.txt ADD。/ code /這Dockerfile從一個Python 3父圖像開始。父圖像通過添加新code目錄進(jìn)行修改。通過安裝requirements.txt文件中定義的Python需求進(jìn)一步修改父映像。

  4. 保存并關(guān)閉Dockerfile

  5. requirements.txt在您的項目目錄中創(chuàng)建一個。該文件由RUN pip install -r requirements.txt您的命令使用Dockerfile

  6. 在文件中添加所需的軟件。Django> = 1.8,<2.0 psycopg2

  7. 保存并關(guān)閉requirements.txt文件。

  8. docker-compose.yml在您的項目目錄中創(chuàng)建一個名為的文件。該docker-compose.yml文件描述了制作您的應(yīng)用的服務(wù)。在這個例子中,這些服務(wù)是一個Web服務(wù)器和數(shù)據(jù)庫。撰寫文件還描述了這些服務(wù)使用哪些Docker映像,它們?nèi)绾捂溄釉谝黄?,以及它們可能需要裝入容器內(nèi)的任何卷。最后,該docker-compose.yml文件描述了這些服務(wù)公開哪些端口。有關(guān)docker-compose.yml此文件如何工作的更多信息,請參閱參考資料。

  9. 將以下配置添加到文件中。版本:'3'服務(wù):db:image:postgres web:build:。命令:python3 manage.py runserver 0.0.0.0:8000卷: - 。:/ code ports: - “8000:8000”depends_on: -  db這個文件定義了兩個服務(wù):db服務(wù)和web服務(wù)。

  10. 保存并關(guān)閉docker-compose.yml文件。

創(chuàng)建一個Django項目

在這一步中,您將通過構(gòu)建上一過程中定義的構(gòu)建上下文中的圖像來創(chuàng)建Django初學(xué)者項目。

  1. 切換到您的項目目錄的根目錄。

  2. 通過運行docker-compose run命令來創(chuàng)建Django項目,如下所示。docker-compose運行web django-admin.py startproject composeexample。這指示Compose django-admin.py startproject composeexample使用web服務(wù)的映像和配置在容器中運行。由于該web圖像尚不存在,因此Compose會從當(dāng)前目錄中構(gòu)建它,如build: .線條所示docker-compose.yml。一旦web構(gòu)建了服務(wù)映像,Compose就會運行它并django-admin.py startproject在容器中執(zhí)行該命令。該命令指示Django創(chuàng)建一組代表Django項目的文件和目錄。

  3. 在后docker-compose命令完成后,列出項目的內(nèi)容。$ ls -l drwxr-xr-x 2 root root composeexample -rw-rw-r-- 1用戶用戶docker-compose.yml -rw-rw-r-- 1個用戶用戶Dockerfile -rwxr-xr-x 1 root root manage.py -rw-rw-r-- 1個用戶用戶requirements.txt如果您在Linux上運行Docker,則django-admin創(chuàng)建的文件將由root用戶擁有。發(fā)生這種情況是因為容器以root用戶身份運行。更改新文件的所有權(quán)。sudo chown -R $ USER:$ USER。如果您在Mac或Windows上運行Docker,則您應(yīng)擁有所有文件的所有權(quán),包括由所生成的文件django-admin。列出文件只是為了驗證這一點。$ ls -l total 32 -rw -r -r-- 1位用戶員工145 Feb 13 23:00 Dockerfile drwxr-xr-x 6用戶人員204 Feb 13 23:07 composeexample -rw-r  -  r-- 1用戶工作人員159 Feb 13 23:02 docker-compose.yml -rwxr-xr-x 1用戶人員257 Feb 13 23:07 manage.py -rw -r  -  r-- 1個用戶人員16 Feb 13 23:01需求。文本

連接數(shù)據(jù)庫

在本節(jié)中,您將為Django設(shè)置數(shù)據(jù)庫連接。

  1. 在您的項目目錄中,編輯該composeexample/settings.py文件。

  2. 替換為DATABASES = ...:DATABASES = {'default':{'ENGINE':'django.db.backends.postgresql','NAME':'postgres','USER':'postgres','HOST':'db ','PORT':5432,}}這些設(shè)置由中指定的postgres Docker鏡像決定docker-compose.yml

  3. 保存并關(guān)閉文件。

  4. 從項目的頂級目錄運行docker-compose up命令。$ docker-compose up djangosample_db_1是最新版本創(chuàng)建djangosample_web_1 ...創(chuàng)建djangosample_web_1 ... done附加到djangosample_db_1,djangosample_web_1 db_1 | 屬于這個數(shù)據(jù)庫系統(tǒng)的文件將由用戶“postgres”擁有。db_1 | 該用戶還必須擁有服務(wù)器進(jìn)程。db_1 | db_1 | 數(shù)據(jù)庫集群將使用語言環(huán)境“en_US.utf8”進(jìn)行初始化。db_1 | 默認(rèn)的數(shù)據(jù)庫編碼相應(yīng)地被設(shè)置為“UTF8”。db_1 | 默認(rèn)的文本搜索配置將被設(shè)置為“english”。。。。web_1 | 2017年5月30日 -  21:44:49 web_1 | Django版本1.11.1,使用設(shè)置'composeexample.settings'web_1 | 從http://0.0.0.0啟動開發(fā)服務(wù)器:8000 / web_1 | 使用CONTROL-C退出服務(wù)器。此時,您的Django應(yīng)用程序應(yīng)該在端口上運行8000在您的Docker主機上。在Docker for Mac和Docker for Windows上,轉(zhuǎn)到http://localhost:8000Web瀏覽器以查看Django歡迎頁面。如果您使用Docker Machine,則docker-machine ip MACHINE_VM返回可添加端口(<Docker-Host-IP>:8000)的Docker主機IP地址。

注意:

在某些平臺(Windows 10)上,您可能需要編輯ALLOWED_HOSTS內(nèi)部settings.py并將Docker主機名或IP地址添加到列表中。為了演示目的,您可以將該值設(shè)置為:

ALLOWED_HOSTS = '*'

請注意,這個值是不是對生產(chǎn)使用是安全的。有關(guān)更多信息,請參閱Django文檔。

  1. 列出運行的容器。在另一個終端窗口中,使用該docker ps命令列出正在運行的Docker進(jìn)程。$ docker ps容器ID映像命令創(chuàng)建狀態(tài)端口名稱def85eff5f51 django_web“python3 manage.py ...”10分鐘前上傳9分鐘0.0.0.0:8000->8000/tcp django_web_1 678ce61c79cc postgres“docker-entrypoint ...”20分鐘前上升9分鐘5432 / tcp django_db_1

  2. 關(guān)閉服務(wù)并使用以下任一方法進(jìn)行清理:

-  Stop the application by typing `Ctrl-C` in the same shell in where you started it: Gracefully stopping... (press Ctrl+C again to force) Killing test_web_1 ... done Killing test_db_1 ... done
-  Or, for a more elegant shutdown, switch to a different shell, and run [docker-compose down](../reference/down/index) from the top level of your Django sample project directory. vmb at mymachine in ~/sandbox/django $ docker-compose down Stopping django_web_1 ... done Stopping django_db_1 ... done Removing django_web_1 ... done Removing django_web_run_1 ... done Removing django_db_1 ... done Removing network django_default

關(guān)閉應(yīng)用程序后,您可以安全地刪除Django項目目錄(例如,rm -rf django)。

Previous article: Next article: