SlideShare uma empresa Scribd logo
1 de 123
Baixar para ler offline
raccoonyy
raccoonyy
raccoony @ Modern Server Lecture
ODK Media
https://44bits.io / https://stdout.fm
https://raccoonyy.github.io
•
$ docker pull nginx
• git clone https://github.com/raccoonyy/
django-dockerizing
• cd django-dockerizing
• docker run --rm 

-v $(pwd)/django:/usr/src/app 

python:3 bash
• cd /usr/src/app
• (Windows $(pwd) %cd%)
.
├── Dockerfile
└── django
├── api
│   ├── apps.py
│   └── views.py
├── manage.py
├── requirements.txt
└── sample
├── settings.py
├── urls.py
└── wsgi.py
• pip install -r requirements.txt
• python manage.py collectstatic
• sample/settings.py
• DEBUG=False

DEBUG=os.environ.get('DEBUG', True)
• sample/settings.py
• ALLOWED_HOST = ('*', )

ALLOWED_HOST = (os.environ.get('HOST',
'*'), )
• sample/settings.py
• API_HOST = 'localhost:8000'

API_HOST = os.environ.get('API_HOST',
'localhost:8000')
• gunicorn sample.wsgi
• EMAIL_BACKEND
• SECRET_KEY
• ...
• pip install -r requirements.txt
• python manage.py collectstatic
• # sample/settings.py

DEBUG

ALLOWED_HOST

API_HOST
• gunicorn sample.wsgi
FROM python:3.7.3
WORKDIR /usr/src/app

COPY django ./
RUN pip install -r requirements.txt

RUN python manage.py collectstatic --noinput
CMD ["gunicorn", "sample.wsgi", "--bind=0:8000"]
• docker build -t docker-sample .
• docker run -it -p 8000:8000 docker-sample
• 13.125.183.70:8000/api/
• 13.125.183.70:8000/api/
database/
• 13.125.183.70:8000/api/message/
• Ctrl + C
$ docker ps

CONTAINER ID IMAGE ...

95bbb55fb111 docker-sample ...
$ docker kill 95bbb55fb111
$ docker rm 95bbb55fb111
$ docker run -d --rm -p 8000:8000 

docker-sample

...

$ open localhost:8000
• http://IP:8000/admin/
$ docker exec --rm docker-sample 

./manage.py migrate


$ docker exec -it --rm docker-sample 

./manage.py createsuperuser
Username (leave blank to use 'root'):
• http://IP:8000/admin/
Django
8000
HOST_IP
db.sqlite3
$ docker kill 95bbb55fb111
$ docker run -d --rm -p 8000:8000 

docker-sample

...

IP:8000
• http://IP:8000/admin/
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
: /usr/src/app/db.sqlite3
$ docker ps

CONTAINER ID IMAGE ...

ABCD1234EFGH docker-sample ...
$ docker kill ABCD1234EFGH
$ docker run -d --rm -p 8000:8000 

-v $(pwd)/django:/usr/src/app/ 

docker-sample
$ docker exec --rm docker-sample 

./manage.py migrate


$ docker exec -it --rm docker-sample 

./manage.py createsuperuser
Username (leave blank to use 'root'):
Django
db.sqlite3/usr/src/app/db.sqlite3
•
•
$ docker run -d --rm -p 8000:8000 

-v $(pwd)/django:/usr/src/app/ 

docker-sample
# bit.ly/msl-docker-compose-install
$ sudo curl -L "https://github.com/docker/
compose/release/download/1.24.0/docker-
compose-$(uname -s)-$(uname -m)" -o /usr/
local/bin/docker-compose
# ~/.bashrc 

alias dco='docker-compose'
# docker-compose.yml
version: '3'
services:
django:
image: docker-sample
ports:
- "8000:8000"
volumes:
- ./django:/usr/src/app
$ docker run -d --rm 

-p 8000:8000 

-v $(pwd)/django:/usr/src/app/ 

docker-sample
•
•
•
•
•
# docker-compose.yml

services:

django:

image: docker-sample

ports:

- "8000:"8000"

volumes:

- ./django:/usr/src/app
$ docker-compose up -d (dco up -d)
...
$ docker-compose down (dco down)
...
•
•
$ docker run -p 60080:80 nginx
version: '3'
services:
nginx:
image: nginx
ports:
- 60080:80
•
•
•
version: '3'
services:
mysql:
image: mysql
error: database is uninitialized and
password option is not specified
You need to specify one of
MYSQL_ROOT_PASSWORD,
MYSQL_ALLOW_EMPTY_PASSWORD and
MYSQL_RANDOM_ROOT_PASSWORD
version: '3'
services:
mysql:
image: mysql
environment:
- MYSQL_ROOT_PASSWORD:mypassword
version: '3'
services:
wordpress:
image: wordpress:latest
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "60000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}
•
•
•
•
•
(docker-sample )
$ docker run -d --rm postgres
$ docker run -d --rm postgres

2603f8e32feecb5eb0cae...
$ docker logs -f 2603f
...
$ docker rm -f {CONTAINER_ID}
$ docker run -d --rm -p 5432:5432 postgres

$ docker rm -f {CONTAINER_ID}
$ docker run -d --rm -p 5432:5432 postgres

ad45e98618531ee693cc3...
$ docker logs ad45e

...
PostgreSQL init process complete; ready for
start up.
... listening on IPv4 address "0.0.0.0",
port 5432
$ docker rm -f {CONTAINER_ID}
$ docker run -d --rm -p 5432:5432 postgres

ad45e98618531ee693cc3...
$ telnet 0 5432

Trying 0.0.0.0...

Connected to 0.

Escape character is '^]'.
telnet> quit
$ docker run -d --rm 

-p 5432:5432 

-v $(pwd)/data:/var/lib/postgresql/data  

postgres
•
•
...
****************************************************
WARNING: No password has been set for the database.
This will allow anyone with access to the
Postgres port to access your database. In
Docker's default configuration, this is
effectively any other container on the same
system.
Use "-e POSTGRES_PASSWORD=password" to set
it in "docker run".
****************************************************
...
$ docker run -d 

-p 5432:5432 

-e POSTGRES_PASSWORD=rootpassword 

-v $(pwd)/data:/var/lib/postgresql/data  

postgres
• https://hub.docker.com/_/
postgres
$ docker run -d 

-p 5432:5432 

-e POSTGRES_PASSWORD=rootpassword 

-v $(pwd)/data:/var/lib/postgresql/data  

postgres
•
$ docker run -d 

-p 5432:5432 

-e POSTGRES_PASSWORD=rootpassword 

-v $(pwd)/data:/var/lib/postgresql/data  

postgres
# ./docker-compose.yml
version: '3'



services:

db:

image: postgres

environment:

- POSTGRES_PASSWORD=rootpassword

volumes:

- ./data:/var/lib/postgres/data

ports:

- 5432:5432
• : docker-compose up -d
• : docker-compose ps
• : docker-compose logs
• : docker-compose down
• : docker-compose up -d
• -d
• : docker-compose ps
• : docker-compose logs -f
• -f
• : docker-compose down
•
• ./data
•
version: '3'



volumes:

postgres_data: {}



services:

db:

image: postgres

...

volumes:

- postgres_data:/var/lib/postgres/data
postgres
/var/lib/postgres/data
postgres_data
•
• docker volume ls
• docker volume ls | grep postgres
• docker-compose
• docker-compose down -v
version: '3'

...

services:

db:

image: postgres

environment:

- POSTGRES_PASSWORD=rootpassword

- POSTGRES_USER=django

- POSTGRES_PASSWORD=django_password

- POSTGRES_DB=djangodb

volumes:

...
•
db:

...

ports:

- 15432:5432

...
$ telnet 0 15432
Django
8000
HOST_IP
db.sqlite3
Django Postgres
5432
8000
HOST_IP
$ docker build -t docker-sample .
$ docker run -d --rm -p 8000:8000 docker-sample
# http://bit.ly/msl-django-database
# django/sample/settings.py
DATABASES = 

'default': {

'ENGINE': 'django.db.backends.postgresql',

'NAME': os.environ.get('DJANGO_DB_NAME', 

'djangodb'),

'USER': os.environ.get('DJANGO_DB_USERNAME', 

'django'),

'PASSWORD': os.environ.get('DJANGO_DB_PASSWORD', 

'django_password'),

'HOST': os.environ.get('DJANGO_DB_HOST', 'db'),

'PORT': os.environ.get('DJANGO_DB_PORT', '5432'),

}

}
# django/requirements.txt
...
psycopg2-binary
# http://bit.ly/msl-postgres-docker
$ docker run -d 

--name db 

-p 5432:5432 

-e POSTGRES_DB=djangodb 

-e POSTGRES_USER=django 

-e POSTGRES_PASSWORD=djangopassword 

-v $(pwd)/data:/var/lib/postgresql/data  

postgres
$ docker run -d --rm 

-p 8000:8000 

--link db:db 

docker-sample
$ docker run -d --rm 

-p 8000:8000 

--link ABCD1234EFGH:db 

docker-sample
# Dockerfile
...
RUN apt update && apt install -y postgres-
client
RUN pip install ...
•
docker run -d --rm 

-p 8000:8000 

--link db:db 

-v $(pwd)/django:/usr/src/app 

docker-sample
•
• PYTHONUNBUFFERED
# Dockerfile

FROM python:3


ENV PYTHONUNBUFFERED 1

...
$ docker build -t docker-sample .
$ docker run -d --rm 

-p 8000:8000 

--link db:db 

-v $(pwd)/django:/usr/src/app 

docker-sample
$ docker run -d 

--name db 

-p 5432:5432 

-e POSTGRES_DB=djangodb 

-e POSTGRES_USER=django 

-e POSTGRES_PASSWORD=djangopassword 

-v $(pwd)/data:/var/lib/postgresql/data  

postgres



$ docker run -d --rm 

-p 8000:8000 

--link db:db 

-v $(pwd)/django:/usr/src/app 

docker-sample
# docker-compose.yml
version: '3'



services:

db:

...

django:

image: docker-sample

links:

- db:db

ports:

- 8000:8000

volumes:

- ./django:/usr/src/app
Django Postgres
*
8000
HOST_IP
docker-compose

bridge network
•
•
•
•
# docker-compose.yml

...

django

# image: django-sample

build:

context: .

dockerfile: ./compose/django/
Dockerfile-dev

...
# ./compose/django/Dockerfile-dev
FROM python:3



ENV PYTHONUNBUFFERED 1



RUN apt update && apt install -y postgresql-client



WORKDIR /usr/src/app

COPY django ./

COPY django/requirements.txt ./

RUN pip install -r requirements.txt

RUN python manage.py collectstatic --noinput



CMD ["gunicorn", "sample.wsgi", "--bind=0:8000"]
•
http://bit.ly/msl-django-postgres
version: '3'



services:

  django:

   build:

context: .

dockerfile: ./compose/django/Dockerfile-dev

links:

- db:db

ports:

- 8000:8000

volumes:

- ./django:/usr/src/app

restart: always
...
db:

image: postgres

environment:

- POSTGRES_PASSWORD=rootpassword

- POSTGRES_USER=django

- POSTGRES_PASSWORD=django_password

- POSTGRES_DB=djangodb

volumes:

- postgres_data:/var/lib/postgres/data



volumes:

postgres_data: {}








•
•
•
•
•
•
•
•
•
•
•
•
http://bit.ly/msl-practice-guestbook
version: '3'



services:

 frontend:

   image: raccoony/guestbook-frontend:latest

   ports:

     - "60081:8080"

   environment:

     - PORT=8080

     - GUESTBOOK_API_ADDR=backend:5000

   depends_on:

     - backend



 backend:

   image: raccoony/guestbook-backend:latest

   environment:

     - PORT=5000

     - GUESTBOOK_DB_ADDR=mongodb:27017

   depends_on:

     - mongodb
 backend:

   image: raccoony/guestbook-backend:latest

   environment:

     - PORT=5000

     - GUESTBOOK_DB_ADDR=mongodb:27017

   depends_on:

     - mongodb



 mongodb:

   image: mongo:4

   volumes:

     - mongo_data:/data/db



volumes:

 mongo_data:{}
• exec
• run
• build
docker-compose run django ./manage.py
migrate
docker-compose run django bash
docker-compose exec django ./manage.py
check
docker-compose exec django bash
docker-compose build django
# ~/.bashrc 

alias dco='docker-compose'



alias dcb='docker-compose build'

alias dce='docker-compose exec'

alias dcps='docker-compose ps'

alias dcr='docker-compose run'

alias dcup='docker-compose up'

alias dcdn='docker-compose down'

alias dcl='docker-compose logs'

alias dclf='docker-compose logs -f'
raccoonyy@gmail.com
https://44bits.io
https://raccoonyy.github.io
raccoonyy
raccoonyy

Mais conteúdo relacionado

Mais procurados

REST Easy with Django-Rest-Framework
REST Easy with Django-Rest-FrameworkREST Easy with Django-Rest-Framework
REST Easy with Django-Rest-FrameworkMarcel Chastain
 
SpringBoot with MyBatis, Flyway, QueryDSL
SpringBoot with MyBatis, Flyway, QueryDSLSpringBoot with MyBatis, Flyway, QueryDSL
SpringBoot with MyBatis, Flyway, QueryDSLSunghyouk Bae
 
Angular Dependency Injection
Angular Dependency InjectionAngular Dependency Injection
Angular Dependency InjectionNir Kaufman
 
간단한 블로그를 만들며 Django 이해하기
간단한 블로그를 만들며 Django 이해하기간단한 블로그를 만들며 Django 이해하기
간단한 블로그를 만들며 Django 이해하기Kyoung Up Jung
 
[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용
[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용
[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용Jihyung Song
 
Angular 6 Form Validation with Material
Angular 6 Form Validation with MaterialAngular 6 Form Validation with Material
Angular 6 Form Validation with MaterialMalika Munaweera
 
[XECon2016] C-3 이현석 팀장들이 꼽은 신입 PHP 개발자가 가급적 빨리 알았으면 하는 것들
[XECon2016] C-3 이현석 팀장들이 꼽은 신입 PHP 개발자가 가급적 빨리 알았으면 하는 것들[XECon2016] C-3 이현석 팀장들이 꼽은 신입 PHP 개발자가 가급적 빨리 알았으면 하는 것들
[XECon2016] C-3 이현석 팀장들이 꼽은 신입 PHP 개발자가 가급적 빨리 알았으면 하는 것들XpressEngine
 
Angular 2 Essential Training
Angular 2 Essential Training Angular 2 Essential Training
Angular 2 Essential Training Patrick Schroeder
 
Best practices for RESTful web service design
Best practices for RESTful web service designBest practices for RESTful web service design
Best practices for RESTful web service designRamin Orujov
 
Building Serverless Applications with AWS Chalice
Building Serverless Applications with AWS ChaliceBuilding Serverless Applications with AWS Chalice
Building Serverless Applications with AWS ChaliceAmazon Web Services
 
Documenting your REST API with Swagger - JOIN 2014
Documenting your REST API with Swagger - JOIN 2014Documenting your REST API with Swagger - JOIN 2014
Documenting your REST API with Swagger - JOIN 2014JWORKS powered by Ordina
 
OAuth2 and Spring Security
OAuth2 and Spring SecurityOAuth2 and Spring Security
OAuth2 and Spring SecurityOrest Ivasiv
 
Rest API with Swagger and NodeJS
Rest API with Swagger and NodeJSRest API with Swagger and NodeJS
Rest API with Swagger and NodeJSLuigi Saetta
 
Introduction to Angular 2
Introduction to Angular 2Introduction to Angular 2
Introduction to Angular 2Knoldus Inc.
 
I Want These * Bugs Off My * Internet
I Want These * Bugs Off My * InternetI Want These * Bugs Off My * Internet
I Want These * Bugs Off My * InternetDan Kaminsky
 
Vue.js SSR with Nuxt.js and Firebase
Vue.js SSR with Nuxt.js and Firebase Vue.js SSR with Nuxt.js and Firebase
Vue.js SSR with Nuxt.js and Firebase David Pichsenmeister
 
Introduction to angular with a simple but complete project
Introduction to angular with a simple but complete projectIntroduction to angular with a simple but complete project
Introduction to angular with a simple but complete projectJadson Santos
 

Mais procurados (20)

REST Easy with Django-Rest-Framework
REST Easy with Django-Rest-FrameworkREST Easy with Django-Rest-Framework
REST Easy with Django-Rest-Framework
 
SpringBoot with MyBatis, Flyway, QueryDSL
SpringBoot with MyBatis, Flyway, QueryDSLSpringBoot with MyBatis, Flyway, QueryDSL
SpringBoot with MyBatis, Flyway, QueryDSL
 
Angular Dependency Injection
Angular Dependency InjectionAngular Dependency Injection
Angular Dependency Injection
 
간단한 블로그를 만들며 Django 이해하기
간단한 블로그를 만들며 Django 이해하기간단한 블로그를 만들며 Django 이해하기
간단한 블로그를 만들며 Django 이해하기
 
[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용
[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용
[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용
 
Angular 6 Form Validation with Material
Angular 6 Form Validation with MaterialAngular 6 Form Validation with Material
Angular 6 Form Validation with Material
 
Rest api with Python
Rest api with PythonRest api with Python
Rest api with Python
 
[XECon2016] C-3 이현석 팀장들이 꼽은 신입 PHP 개발자가 가급적 빨리 알았으면 하는 것들
[XECon2016] C-3 이현석 팀장들이 꼽은 신입 PHP 개발자가 가급적 빨리 알았으면 하는 것들[XECon2016] C-3 이현석 팀장들이 꼽은 신입 PHP 개발자가 가급적 빨리 알았으면 하는 것들
[XECon2016] C-3 이현석 팀장들이 꼽은 신입 PHP 개발자가 가급적 빨리 알았으면 하는 것들
 
Angular 2 Essential Training
Angular 2 Essential Training Angular 2 Essential Training
Angular 2 Essential Training
 
Best practices for RESTful web service design
Best practices for RESTful web service designBest practices for RESTful web service design
Best practices for RESTful web service design
 
Building Serverless Applications with AWS Chalice
Building Serverless Applications with AWS ChaliceBuilding Serverless Applications with AWS Chalice
Building Serverless Applications with AWS Chalice
 
Documenting your REST API with Swagger - JOIN 2014
Documenting your REST API with Swagger - JOIN 2014Documenting your REST API with Swagger - JOIN 2014
Documenting your REST API with Swagger - JOIN 2014
 
OAuth2 and Spring Security
OAuth2 and Spring SecurityOAuth2 and Spring Security
OAuth2 and Spring Security
 
Rest API with Swagger and NodeJS
Rest API with Swagger and NodeJSRest API with Swagger and NodeJS
Rest API with Swagger and NodeJS
 
Introduction to Angular 2
Introduction to Angular 2Introduction to Angular 2
Introduction to Angular 2
 
I Want These * Bugs Off My * Internet
I Want These * Bugs Off My * InternetI Want These * Bugs Off My * Internet
I Want These * Bugs Off My * Internet
 
Vue.js SSR with Nuxt.js and Firebase
Vue.js SSR with Nuxt.js and Firebase Vue.js SSR with Nuxt.js and Firebase
Vue.js SSR with Nuxt.js and Firebase
 
Introduction to angular with a simple but complete project
Introduction to angular with a simple but complete projectIntroduction to angular with a simple but complete project
Introduction to angular with a simple but complete project
 
Angular Directives
Angular DirectivesAngular Directives
Angular Directives
 
Swagger
SwaggerSwagger
Swagger
 

Semelhante a Django로 만든 웹 애플리케이션 도커라이징하기 + 도커 컴포즈로 개발 환경 구축하기

파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
파이썬 개발환경 구성하기의 끝판왕 - Docker Composeraccoony
 
PuppetConf 2016: The Challenges with Container Configuration – David Lutterko...
PuppetConf 2016: The Challenges with Container Configuration – David Lutterko...PuppetConf 2016: The Challenges with Container Configuration – David Lutterko...
PuppetConf 2016: The Challenges with Container Configuration – David Lutterko...Puppet
 
Challenges of container configuration
Challenges of container configurationChallenges of container configuration
Challenges of container configurationlutter
 
Using docker for data science - part 2
Using docker for data science - part 2Using docker for data science - part 2
Using docker for data science - part 2Calvin Giles
 
AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017
AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017
AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017Amazon Web Services Korea
 
Docker, the Future of DevOps
Docker, the Future of DevOpsDocker, the Future of DevOps
Docker, the Future of DevOpsandersjanmyr
 
Docker Security workshop slides
Docker Security workshop slidesDocker Security workshop slides
Docker Security workshop slidesDocker, Inc.
 
GDG Lima - Docker Compose
GDG Lima - Docker ComposeGDG Lima - Docker Compose
GDG Lima - Docker ComposeMario IC
 
Into The Box 2018 Going live with commandbox and docker
Into The Box 2018 Going live with commandbox and dockerInto The Box 2018 Going live with commandbox and docker
Into The Box 2018 Going live with commandbox and dockerOrtus Solutions, Corp
 
Going live with BommandBox and docker Into The Box 2018
Going live with BommandBox and docker Into The Box 2018Going live with BommandBox and docker Into The Box 2018
Going live with BommandBox and docker Into The Box 2018Ortus Solutions, Corp
 
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOpsОмские ИТ-субботники
 
Drone CI/CD 自動化測試及部署
Drone CI/CD 自動化測試及部署Drone CI/CD 自動化測試及部署
Drone CI/CD 自動化測試及部署Bo-Yi Wu
 
A to Z of a Multi-platform Docker Swarm: Building, Shipping, and Running Mult...
A to Z of a Multi-platform Docker Swarm: Building, Shipping, and Running Mult...A to Z of a Multi-platform Docker Swarm: Building, Shipping, and Running Mult...
A to Z of a Multi-platform Docker Swarm: Building, Shipping, and Running Mult...Christy Norman
 
From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...
From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...
From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...Docker, Inc.
 
Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)Ben Hall
 
Toolbox of a Ruby Team
Toolbox of a Ruby TeamToolbox of a Ruby Team
Toolbox of a Ruby TeamArto Artnik
 
Be a better developer with Docker (revision 3)
Be a better developer with Docker (revision 3)Be a better developer with Docker (revision 3)
Be a better developer with Docker (revision 3)Nicola Paolucci
 
Using Nix and Docker as automated deployment solutions
Using Nix and Docker as automated deployment solutionsUsing Nix and Docker as automated deployment solutions
Using Nix and Docker as automated deployment solutionsSander van der Burg
 
Troubleshooting Tips from a Docker Support Engineer
Troubleshooting Tips from a Docker Support EngineerTroubleshooting Tips from a Docker Support Engineer
Troubleshooting Tips from a Docker Support EngineerJeff Anderson
 

Semelhante a Django로 만든 웹 애플리케이션 도커라이징하기 + 도커 컴포즈로 개발 환경 구축하기 (20)

파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
 
PuppetConf 2016: The Challenges with Container Configuration – David Lutterko...
PuppetConf 2016: The Challenges with Container Configuration – David Lutterko...PuppetConf 2016: The Challenges with Container Configuration – David Lutterko...
PuppetConf 2016: The Challenges with Container Configuration – David Lutterko...
 
Challenges of container configuration
Challenges of container configurationChallenges of container configuration
Challenges of container configuration
 
Using docker for data science - part 2
Using docker for data science - part 2Using docker for data science - part 2
Using docker for data science - part 2
 
AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017
AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017
AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017
 
Docker, the Future of DevOps
Docker, the Future of DevOpsDocker, the Future of DevOps
Docker, the Future of DevOps
 
Docker Security workshop slides
Docker Security workshop slidesDocker Security workshop slides
Docker Security workshop slides
 
GDG Lima - Docker Compose
GDG Lima - Docker ComposeGDG Lima - Docker Compose
GDG Lima - Docker Compose
 
Into The Box 2018 Going live with commandbox and docker
Into The Box 2018 Going live with commandbox and dockerInto The Box 2018 Going live with commandbox and docker
Into The Box 2018 Going live with commandbox and docker
 
Going live with BommandBox and docker Into The Box 2018
Going live with BommandBox and docker Into The Box 2018Going live with BommandBox and docker Into The Box 2018
Going live with BommandBox and docker Into The Box 2018
 
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
 
Drone CI/CD 自動化測試及部署
Drone CI/CD 自動化測試及部署Drone CI/CD 自動化測試及部署
Drone CI/CD 自動化測試及部署
 
A to Z of a Multi-platform Docker Swarm: Building, Shipping, and Running Mult...
A to Z of a Multi-platform Docker Swarm: Building, Shipping, and Running Mult...A to Z of a Multi-platform Docker Swarm: Building, Shipping, and Running Mult...
A to Z of a Multi-platform Docker Swarm: Building, Shipping, and Running Mult...
 
From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...
From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...
From Arm to Z: Building, Shipping, and Running a Multi-platform Docker Swarm ...
 
Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)
 
Toolbox of a Ruby Team
Toolbox of a Ruby TeamToolbox of a Ruby Team
Toolbox of a Ruby Team
 
Be a better developer with Docker (revision 3)
Be a better developer with Docker (revision 3)Be a better developer with Docker (revision 3)
Be a better developer with Docker (revision 3)
 
Using Nix and Docker as automated deployment solutions
Using Nix and Docker as automated deployment solutionsUsing Nix and Docker as automated deployment solutions
Using Nix and Docker as automated deployment solutions
 
Docker
DockerDocker
Docker
 
Troubleshooting Tips from a Docker Support Engineer
Troubleshooting Tips from a Docker Support EngineerTroubleshooting Tips from a Docker Support Engineer
Troubleshooting Tips from a Docker Support Engineer
 

Mais de raccoony

How to survive in AWS re:Invent
How to survive in AWS re:InventHow to survive in AWS re:Invent
How to survive in AWS re:Inventraccoony
 
select-fix(일괄 바꿈) 프로젝트 소개
select-fix(일괄 바꿈) 프로젝트 소개select-fix(일괄 바꿈) 프로젝트 소개
select-fix(일괄 바꿈) 프로젝트 소개raccoony
 
Write The Docs 서울의 2019년 첫 밋업 소개 자료
Write The Docs 서울의 2019년 첫 밋업 소개 자료Write The Docs 서울의 2019년 첫 밋업 소개 자료
Write The Docs 서울의 2019년 첫 밋업 소개 자료raccoony
 
번역 작업의 지속 가능성을 높이는 CAT
번역 작업의 지속 가능성을 높이는 CAT번역 작업의 지속 가능성을 높이는 CAT
번역 작업의 지속 가능성을 높이는 CATraccoony
 
한글 폰트 크기 문제를 테스트해봅니다
한글 폰트 크기 문제를 테스트해봅니다한글 폰트 크기 문제를 테스트해봅니다
한글 폰트 크기 문제를 테스트해봅니다raccoony
 
Docker (Compose) 활용 - 개발 환경 구성하기
Docker (Compose) 활용 - 개발 환경 구성하기Docker (Compose) 활용 - 개발 환경 구성하기
Docker (Compose) 활용 - 개발 환경 구성하기raccoony
 
음향 기초 안내서
음향 기초 안내서음향 기초 안내서
음향 기초 안내서raccoony
 
인디자인을 활용한 자동 조판 실험
인디자인을 활용한 자동 조판 실험인디자인을 활용한 자동 조판 실험
인디자인을 활용한 자동 조판 실험raccoony
 
민주주의를 위한 대화, 소통, 참여, 협력의 기술
민주주의를 위한 대화, 소통, 참여, 협력의 기술민주주의를 위한 대화, 소통, 참여, 협력의 기술
민주주의를 위한 대화, 소통, 참여, 협력의 기술raccoony
 
(중학생도 이해하는) 에니그마의 작동 원리
(중학생도 이해하는) 에니그마의 작동 원리(중학생도 이해하는) 에니그마의 작동 원리
(중학생도 이해하는) 에니그마의 작동 원리raccoony
 
서버 개발자가 되기 전에 알았으면 좋았을 것들
서버 개발자가 되기 전에 알았으면 좋았을 것들서버 개발자가 되기 전에 알았으면 좋았을 것들
서버 개발자가 되기 전에 알았으면 좋았을 것들raccoony
 
Sublime Text 3 for python and django
Sublime Text 3 for python and djangoSublime Text 3 for python and django
Sublime Text 3 for python and djangoraccoony
 

Mais de raccoony (12)

How to survive in AWS re:Invent
How to survive in AWS re:InventHow to survive in AWS re:Invent
How to survive in AWS re:Invent
 
select-fix(일괄 바꿈) 프로젝트 소개
select-fix(일괄 바꿈) 프로젝트 소개select-fix(일괄 바꿈) 프로젝트 소개
select-fix(일괄 바꿈) 프로젝트 소개
 
Write The Docs 서울의 2019년 첫 밋업 소개 자료
Write The Docs 서울의 2019년 첫 밋업 소개 자료Write The Docs 서울의 2019년 첫 밋업 소개 자료
Write The Docs 서울의 2019년 첫 밋업 소개 자료
 
번역 작업의 지속 가능성을 높이는 CAT
번역 작업의 지속 가능성을 높이는 CAT번역 작업의 지속 가능성을 높이는 CAT
번역 작업의 지속 가능성을 높이는 CAT
 
한글 폰트 크기 문제를 테스트해봅니다
한글 폰트 크기 문제를 테스트해봅니다한글 폰트 크기 문제를 테스트해봅니다
한글 폰트 크기 문제를 테스트해봅니다
 
Docker (Compose) 활용 - 개발 환경 구성하기
Docker (Compose) 활용 - 개발 환경 구성하기Docker (Compose) 활용 - 개발 환경 구성하기
Docker (Compose) 활용 - 개발 환경 구성하기
 
음향 기초 안내서
음향 기초 안내서음향 기초 안내서
음향 기초 안내서
 
인디자인을 활용한 자동 조판 실험
인디자인을 활용한 자동 조판 실험인디자인을 활용한 자동 조판 실험
인디자인을 활용한 자동 조판 실험
 
민주주의를 위한 대화, 소통, 참여, 협력의 기술
민주주의를 위한 대화, 소통, 참여, 협력의 기술민주주의를 위한 대화, 소통, 참여, 협력의 기술
민주주의를 위한 대화, 소통, 참여, 협력의 기술
 
(중학생도 이해하는) 에니그마의 작동 원리
(중학생도 이해하는) 에니그마의 작동 원리(중학생도 이해하는) 에니그마의 작동 원리
(중학생도 이해하는) 에니그마의 작동 원리
 
서버 개발자가 되기 전에 알았으면 좋았을 것들
서버 개발자가 되기 전에 알았으면 좋았을 것들서버 개발자가 되기 전에 알았으면 좋았을 것들
서버 개발자가 되기 전에 알았으면 좋았을 것들
 
Sublime Text 3 for python and django
Sublime Text 3 for python and djangoSublime Text 3 for python and django
Sublime Text 3 for python and django
 

Último

APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...ranjana rawat
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxhumanexperienceaaa
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...RajaP95
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 

Último (20)

APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 

Django로 만든 웹 애플리케이션 도커라이징하기 + 도커 컴포즈로 개발 환경 구축하기