반응형

회사에서 젠킨스를 이용해서 자동 배포환경을 구축하는 과정에서 젠킨스에서 도커의 -it 옵션때문에 쉘스립트를 이용해서 도커를 실행하도록 작업하였습니다.
(tty에러가 나는데 그건 도커 bash는 interactive하게 클라이언트와 통신을 해야하기 때문에 발생한다고 한다.)

핵심은 -dit 옵션이고 -d옵션이 데몬을 의미하며 백그라운드로 실행되게 하는 옵션이다.

저렇게하면 도커를 실행해도 도커 내부 bash로 진입하지 않는다.

그리고 docker exec를 이용해서 도커 내부 bash에 명령어를 실행하도록 작업하여 도커 컨테이너 내부에 DB와 웹서버를 실행하도록 스크립트를 작성하였다.

#!/bin/bash

docker stop [DOCKER_NAME] 2>/dev/null
docker rm [DOCKER_NAME] 2>/dev/null

docker run -dit -p 8081:8081 -p 27017:27017 --name ds_ml -v mongodb:/data/db [DOCKER_NAME]:latest

docker exec [DOCKER_NAME] bash -c "source ~/.bashrc && conda activate myenv && mongod --bind_ip 0.0.0.0 --port 27017 --dbpath /data/db &"

docker exec [DOCKER_NAME] bash -c "source ~/.bashrc && conda activate myenv && uvicorn main:app --host 0.0.0.0 --port 8081 > /var/log/uvicorn.log 2>&1"

 

728x90
반응형

도커 이미지 불러오기

docker load < docker-study0.1.tar

도커 이미지 목록 보기

docker images

 

728x90
반응형

도커 이미지 목록 보기

docker images
REPOSITORY                    TAG       IMAGE ID       CREATED         SIZE
<none>                        <none>    41f3cc7950e7   26 hours ago    122MB
docker-study                  0.1       73995ae21233   26 hours ago    122MB
jshag90/docker-study          1.0       73995ae21233   26 hours ago    122MB
<none>                        <none>    99ce48eca45d   26 hours ago    122MB
alpine/git                    latest    04dbb58d2cea   4 weeks ago     25.1MB
centos                        latest    300e315adb2f   2 months ago    209MB
docker/getting-started        latest    3c156928aeec   10 months ago   24.8MB
myheritage/centos7-git-java   latest    4e93d8b41499   3 years ago     649MB

도커 이미지 내보내기

docker save docker-study:0.1 > docker-study0.1.tar
728x90

+ Recent posts