SlideShare a Scribd company logo
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

More Related Content

What's hot

Overlayfs and VFS
Overlayfs and VFSOverlayfs and VFS
Overlayfs and VFS
Hao(Robin) Dong
 
Linux Interrupts
Linux InterruptsLinux Interrupts
Linux Interrupts
Kernel TLV
 
Sinatra for REST services
Sinatra for REST servicesSinatra for REST services
Sinatra for REST services
Emanuele DelBono
 
Sigreturn Oriented Programming
Sigreturn Oriented ProgrammingSigreturn Oriented Programming
Sigreturn Oriented Programming
Angel Boy
 
Vmlinux: anatomy of bzimage and how x86 64 processor is booted
Vmlinux: anatomy of bzimage and how x86 64 processor is bootedVmlinux: anatomy of bzimage and how x86 64 processor is booted
Vmlinux: anatomy of bzimage and how x86 64 processor is booted
Adrian Huang
 
시니어가 들려주는 "내가 알고 있는 걸 당신도 알게 된다면"
시니어가 들려주는 "내가 알고 있는 걸 당신도 알게 된다면"시니어가 들려주는 "내가 알고 있는 걸 당신도 알게 된다면"
시니어가 들려주는 "내가 알고 있는 걸 당신도 알게 된다면"
InfraEngineer
 
Linux kernel debugging
Linux kernel debuggingLinux kernel debugging
Linux kernel debugging
Hao-Ran Liu
 
OpenHPC: A Comprehensive System Software Stack
OpenHPC: A Comprehensive System Software StackOpenHPC: A Comprehensive System Software Stack
OpenHPC: A Comprehensive System Software Stack
inside-BigData.com
 
Linux binary Exploitation - Basic knowledge
Linux binary Exploitation - Basic knowledgeLinux binary Exploitation - Basic knowledge
Linux binary Exploitation - Basic knowledge
Angel Boy
 
Rest and Sling Resolution
Rest and Sling ResolutionRest and Sling Resolution
Rest and Sling ResolutionDEEPAK KHETAWAT
 
How MongoDB can accelerate a path to GDPR compliance
How MongoDB can accelerate a path to GDPR complianceHow MongoDB can accelerate a path to GDPR compliance
How MongoDB can accelerate a path to GDPR compliance
MongoDB
 
How To Install and Use ABRT CLI on RHEL 7
How To Install and Use ABRT CLI on RHEL 7How To Install and Use ABRT CLI on RHEL 7
How To Install and Use ABRT CLI on RHEL 7
VCP Muthukrishna
 
(BDT323) Amazon EBS & Cassandra: 1 Million Writes Per Second
(BDT323) Amazon EBS & Cassandra: 1 Million Writes Per Second(BDT323) Amazon EBS & Cassandra: 1 Million Writes Per Second
(BDT323) Amazon EBS & Cassandra: 1 Million Writes Per Second
Amazon Web Services
 
Alfresco Content Modelling and Policy Behaviours
Alfresco Content Modelling and Policy BehavioursAlfresco Content Modelling and Policy Behaviours
Alfresco Content Modelling and Policy Behaviours
J V
 
Postgresql các vấn đề thực tế
Postgresql các vấn đề thực tếPostgresql các vấn đề thực tế
Postgresql các vấn đề thực tế
TechMaster Vietnam
 
Linux Initialization Process (1)
Linux Initialization Process (1)Linux Initialization Process (1)
Linux Initialization Process (1)
shimosawa
 
A Journey to Boot Linux on Raspberry Pi
A Journey to Boot Linux on Raspberry PiA Journey to Boot Linux on Raspberry Pi
A Journey to Boot Linux on Raspberry Pi
Jian-Hong Pan
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device drivers
Houcheng Lin
 
Micro HTTP Server Implemented in C @ COSCUP 2016
Micro HTTP Server Implemented in C @ COSCUP 2016Micro HTTP Server Implemented in C @ COSCUP 2016
Micro HTTP Server Implemented in C @ COSCUP 2016
Jian-Hong Pan
 

What's hot (20)

Overlayfs and VFS
Overlayfs and VFSOverlayfs and VFS
Overlayfs and VFS
 
Pgbadger
PgbadgerPgbadger
Pgbadger
 
Linux Interrupts
Linux InterruptsLinux Interrupts
Linux Interrupts
 
Sinatra for REST services
Sinatra for REST servicesSinatra for REST services
Sinatra for REST services
 
Sigreturn Oriented Programming
Sigreturn Oriented ProgrammingSigreturn Oriented Programming
Sigreturn Oriented Programming
 
Vmlinux: anatomy of bzimage and how x86 64 processor is booted
Vmlinux: anatomy of bzimage and how x86 64 processor is bootedVmlinux: anatomy of bzimage and how x86 64 processor is booted
Vmlinux: anatomy of bzimage and how x86 64 processor is booted
 
시니어가 들려주는 "내가 알고 있는 걸 당신도 알게 된다면"
시니어가 들려주는 "내가 알고 있는 걸 당신도 알게 된다면"시니어가 들려주는 "내가 알고 있는 걸 당신도 알게 된다면"
시니어가 들려주는 "내가 알고 있는 걸 당신도 알게 된다면"
 
Linux kernel debugging
Linux kernel debuggingLinux kernel debugging
Linux kernel debugging
 
OpenHPC: A Comprehensive System Software Stack
OpenHPC: A Comprehensive System Software StackOpenHPC: A Comprehensive System Software Stack
OpenHPC: A Comprehensive System Software Stack
 
Linux binary Exploitation - Basic knowledge
Linux binary Exploitation - Basic knowledgeLinux binary Exploitation - Basic knowledge
Linux binary Exploitation - Basic knowledge
 
Rest and Sling Resolution
Rest and Sling ResolutionRest and Sling Resolution
Rest and Sling Resolution
 
How MongoDB can accelerate a path to GDPR compliance
How MongoDB can accelerate a path to GDPR complianceHow MongoDB can accelerate a path to GDPR compliance
How MongoDB can accelerate a path to GDPR compliance
 
How To Install and Use ABRT CLI on RHEL 7
How To Install and Use ABRT CLI on RHEL 7How To Install and Use ABRT CLI on RHEL 7
How To Install and Use ABRT CLI on RHEL 7
 
(BDT323) Amazon EBS & Cassandra: 1 Million Writes Per Second
(BDT323) Amazon EBS & Cassandra: 1 Million Writes Per Second(BDT323) Amazon EBS & Cassandra: 1 Million Writes Per Second
(BDT323) Amazon EBS & Cassandra: 1 Million Writes Per Second
 
Alfresco Content Modelling and Policy Behaviours
Alfresco Content Modelling and Policy BehavioursAlfresco Content Modelling and Policy Behaviours
Alfresco Content Modelling and Policy Behaviours
 
Postgresql các vấn đề thực tế
Postgresql các vấn đề thực tếPostgresql các vấn đề thực tế
Postgresql các vấn đề thực tế
 
Linux Initialization Process (1)
Linux Initialization Process (1)Linux Initialization Process (1)
Linux Initialization Process (1)
 
A Journey to Boot Linux on Raspberry Pi
A Journey to Boot Linux on Raspberry PiA Journey to Boot Linux on Raspberry Pi
A Journey to Boot Linux on Raspberry Pi
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device drivers
 
Micro HTTP Server Implemented in C @ COSCUP 2016
Micro HTTP Server Implemented in C @ COSCUP 2016Micro HTTP Server Implemented in C @ COSCUP 2016
Micro HTTP Server Implemented in C @ COSCUP 2016
 

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

파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
raccoony
 
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 configuration
lutter
 
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
Calvin 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 2017
Amazon Web Services Korea
 
Docker, the Future of DevOps
Docker, the Future of DevOpsDocker, the Future of DevOps
Docker, the Future of DevOps
andersjanmyr
 
Docker Security workshop slides
Docker Security workshop slidesDocker Security workshop slides
Docker Security workshop slides
Docker, Inc.
 
GDG Lima - Docker Compose
GDG Lima - Docker ComposeGDG Lima - Docker Compose
GDG Lima - Docker Compose
Mario IC
 
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
Ortus Solutions, Corp
 
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
Ortus 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
 
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.
 
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
 
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 Team
Arto 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 solutions
Sander van der Burg
 
Docker
DockerDocker
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
Jeff Anderson
 

Similar to 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
 
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
 
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
 
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 自動化測試及部署
 
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 ...
 
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...
 
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
 

More from 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:Invent
raccoony
 
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
번역 작업의 지속 가능성을 높이는 CAT
raccoony
 
한글 폰트 크기 문제를 테스트해봅니다
한글 폰트 크기 문제를 테스트해봅니다한글 폰트 크기 문제를 테스트해봅니다
한글 폰트 크기 문제를 테스트해봅니다
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 django
raccoony
 

More from 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
 

Recently uploaded

Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Arya
abh.arya
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
Robbie Edward Sayers
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
JoytuBarua2
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
ViniHema
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation & Control
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
Jayaprasanna4
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
AafreenAbuthahir2
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
gdsczhcet
 
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
obonagu
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
Jayaprasanna4
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
ssuser9bd3ba
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
Intella Parts
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
TeeVichai
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
AJAYKUMARPUND1
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
Kamal Acharya
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
karthi keyan
 
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdfCOLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
Kamal Acharya
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
AhmedHussein950959
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
Massimo Talia
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
VENKATESHvenky89705
 

Recently uploaded (20)

Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Arya
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
 
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdfCOLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
 

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