프로그래밍/Docker 5

Docker에서 shellscript crontab으로 돌리기

docker container내의 crontab에서 scripts/batch.sh를 실행시키고자 한다. 5분마다 실행을하고, 필요한 환경변수를 crontab 작업에 등록시켜준다. SHELL=/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin TZ=Asia/Seoul */5 * * * * /batch/scripts/batch.sh 2>&1 | tee -a /proc/1/fd/1 /batch/logs/batch.cron.log # SHELL=/bin/bash 등록된 작업을 실행시킬 쉘을 직접 지정한다. 기본값은 /bin/sh이다. # PATH=/user/local/sbin... 쉘에서 쓰는 환경변수와 crontab에서 사용하..

[Docker] swarm을 알아보자

What is a swarm? Swarm은 여러 swarm mode로 동작하는 Docker 호스트들로 구성되어있다. 그들의 역할은 크게 매니저(manager)와 워커(worker)로 구분되는데, 두 가지 역할을 모두 수행하도록 할 수도 있다. 이들은 swarm에서 각각의 노드(node)가된다. 서비스(service)를 만들때 이 태스크(task)을 수행하려면 어떤 정도의 레플리카의 개수나 네트워크나 저장소 자원등을 필요로 하는지 기술하게 되는데, 이에 따라 태스크를 수행중인 어떤 노드가 망가진다면 서비스 수행이 가능한 다른 노드가 이 일을 맡게 된다. 이렇듯 Docker swarm은 클러스터링과 오케스트레이션을 쉽게 도와준다. Nodes 노드는 swarm에 참여하고 있는 Docker engine이다. 하..

Docker 사용방법 실습 - Node.js / MySQL / Nginx 사용 서비스 만들기

Docker series [ - ] Docker 개념정리 포스팅 [https://jizard.tistory.com/322] [ x ] Docker 실습 포스팅 Project File Tree ├── app │ ├── Dockerfile │ ├── index.js │ ├── node_modules │ ├── package-lock.json │ └── package.json ├── docker-compose.yml ├── mysql │ └── Dockerfile └── nginx ├── Dockerfile └── default.conf *Github에서 전체 프로젝트 소스보기 [https://github.com/lx5475/Docker-] Docker를 사용하여 독립된 환경에서 mysql와 nginx를 구동..

Docker 컨테이너와 이미지의 개념과 강점 알아보기

Docker series [ x ] Docker 개념정리 포스팅 [ - ] Docker 실습 포스팅 [https://jizard.tistory.com/324] 컨테이너 Container Docker는 LXC라는 컨테이너 기술에 기반한 상위 레벨의 컨테이너 기술이다. LXC는 Linux Container의 약자로, 단일 리눅스 시스템에 동작하고 있는 프로세스를 격리시켜 독자적 환경을 구축할 수 있게 해준다. Host OS와 격리된 환경을 만들어 준다는 점에서 가상 머신(Virtual Machine)과 유사하지만, 약간의 차이점이 있다. VM을 사용하여 하나의 서버에서 여러 애플리케이션을 구동하는 방법은 Host OS 위에 여러 Guest OS를 띄워서 구성하는 것인데, Hypervisor는 각각의 Gues..