<aside> ℹ️ Docker를 사용하는 호스트 시스템의 /home/minjungk/data 폴더에서 볼륨을 사용할 수 있습니다.
도커에서 자동으로 마운트 디렉토리를 만들어주지 않으므로 사전 생성이 필요합니다. </aside>
Makefile
<aside> ⚠️ 확실한 보안상의 이유로 모든 자격 증명, API 키, env 변수 등은 .env 파일에 로컬로 저장되어야 하며 git에서는 무시됩니다. 공개적으로 저장된 자격 증명은 프로젝트 실패로 직접 이어집니다.
*.gitignore
파일에 .env
를 미리 등록하는 걸 추천*
자격 증명(.crt, .key 등)은 nginx의 Dockerfile에서 만들지 않도록 조심! </aside>
srcs/.env
srcs/requirements/tools/certificates.mk
<aside> ⚠️ 물론 network:host, --link 또는links:를 사용하는 것은 금지되어 있습니다. 네트워크 줄은 docker-compose.yml 파일에 있어야 합니다. 무한 루프를 실행하는 명령으로 컨테이너를 시작하면 안 됩니다. 따라서 이는 진입점으로 사용되거나 진입점 스크립트에 사용되는 모든 명령에도 적용됩니다. 다음은 금지된 몇 가지 해키 패치입니다: tail -f, bash, sleep infinity, while true
</aside>
docker-compose.yaml
version: "3.8"
networks:
volumes:
services:
configs:
secrets:
다음은 예상되는 디렉터리 구조의 예입니다.
$> ls -alR
total XX
drwxrwxr-x 3 wil wil 4096 avril 42 20:42 .
drwxrwxrwt 17 wil wil 4096 avril 42 20:42 ..
-rw-rw-r-- 1 wil wil XXXX avril 42 20:42 Makefile
drwxrwxr-x 3 wil wil 4096 avril 42 20:42 srcs
./srcs:
total XX
drwxrwxr-x 3 wil wil 4096 avril 42 20:42 .
drwxrwxr-x 3 wil wil 4096 avril 42 20:42 ..
-rw-rw-r-- 1 wil wil XXXX avril 42 20:42 docker-compose.yml
-rw-rw-r-- 1 wil wil XXXX avril 42 20:42 .env
drwxrwxr-x 5 wil wil 4096 avril 42 20:42 requirements
./srcs/requirements:
total XX
drwxrwxr-x 5 wil wil 4096 avril 42 20:42 .
drwxrwxr-x 3 wil wil 4096 avril 42 20:42 ..
drwxrwxr-x 4 wil wil 4096 avril 42 20:42 bonus
drwxrwxr-x 4 wil wil 4096 avril 42 20:42 mariadb
drwxrwxr-x 4 wil wil 4096 avril 42 20:42 nginx
drwxrwxr-x 4 wil wil 4096 avril 42 20:42 tools
drwxrwxr-x 4 wil wil 4096 avril 42 20:42 wordpress
./srcs/requirements/mariadb:
total XX
drwxrwxr-x 4 wil wil 4096 avril 42 20:45 .
drwxrwxr-x 5 wil wil 4096 avril 42 20:42 ..
drwxrwxr-x 2 wil wil 4096 avril 42 20:42 conf
-rw-rw-r-- 1 wil wil XXXX avril 42 20:42 Dockerfile
-rw-rw-r-- 1 wil wil XXXX avril 42 20:42 .dockerignore
drwxrwxr-x 2 wil wil 4096 avril 42 20:42 tools
[...]
./srcs/requirements/nginx:
total XX
drwxrwxr-x 4 wil wil 4096 avril 42 20:42 .
drwxrwxr-x 5 wil wil 4096 avril 42 20:42 ..
drwxrwxr-x 2 wil wil 4096 avril 42 20:42 conf
-rw-rw-r-- 1 wil wil XXXX avril 42 20:42 Dockerfile
-rw-rw-r-- 1 wil wil XXXX avril 42 20:42 .dockerignore
drwxrwxr-x 2 wil wil 4096 avril 42 20:42 tools
[...]
$> cat srcs/.env
DOMAIN_NAME=wil.42.fr
# certificates
CERTS_=./XXXXXXXXXXXX
# MYSQL SETUP
MYSQL_ROOT_PASSWORD=XXXXXXXXXXXX
MYSQL_USER=XXXXXXXXXXXX
MYSQL_PASSWORD=XXXXXXXXXXXX
[...]
$>