자신만의 도커 컨테이너를 이미지로 만들어서 배포하도록 하겠습니다.
도커 이미지 만들때에는 docker commit 명령어를 이용합니다.
$ docker commit 컨테이너이름 이미지이름:태그
# 이미지 만들기 전에 멈춘다
$docker stop a82f5c258527
# docker 컨테이너 이미지화
# docker commit 컨테이너이름 이미지이름:태그
docker commit a82f5c258527 wwyocr:kdh
# docker 이미지 확인
docker images
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
wwyocr kdh d0e54bc5ac29 2 minutes ago 12.5GB
ubuntu 20.04 ba6acccedd29 6 weeks ago 72.8MB
centos 7 eeb6ee3f44bd 2 months ago 204MB
# 방금 만든 이미지를 컨테이너로 만들어 실행해 보겠습니다.
$ docker run -i -t wwyocr:kdh /bin/bash
# python 서버 실행
$ cd /home/centos/easyOCR-binary-centos-main
$ python3 server.py &
INFO: Started server process [21]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
# 컨테이너는 실행해둔채로 로컬로 나오기
ctrl + p + q
# 방금 만든 컨테이너 확인
$ docker ps -a
www]$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS
42f18d859ea8 wwyocr:kdh "/bin/bash" 2 minutes ago Up 2 minutes
a82f5c258527 centos:7 "/bin/bash" 6 hours ago Exited (137) 27 minutes ago
d88e100ff6df ubuntu:20.04 "/bin/bash" 3 weeks ago Exited (0) 3 weeks ago
# 방금 만든 컨테이너의 ocr 실행
$ docker exec -e LD_LIBRARY_PATH=/usr/local/lib -it 42f18d859ea8 /home/centos/cpp/ocrrest
# 저장된 image 와 컨테이너 경로
/var/lib/docker/
이미지 파일로 추출
도커 이미지를 별도로 저장하거나 옮기는 등 필요에 따라 이미지를 단일 바이너리 파일로 저장해야 할 때가 있습니다.
이럴 때 docker save명령어를 사용하여 container의 command, image, name, tag 등의 이미지의 모든 Meta_Data를 포함해 하나의
파일로 추출할 수 있습니다.
-o 옵션은 추출될 이름을 결정합니다
$ docker save -o wwy_ocr.tar wwyocr
추출된 이미지는 load 명령어로 도커에 다시 로드할 수 있습니다.
save 명령어로 추출된 이미지는 모든 메타데이터 정보를 갖고있기 때문에 load 명령어로 로드하면 바로 사용가능한 이미지로 만들 수 있습
니다.
$ docker load -i wwy_ocr.tar
'인프라' 카테고리의 다른 글
리눅스 docker 일반 계정으로 실행시 오류 발생 Got permission denied while trying to connect to the Docker daemon socket (0) | 2021.12.02 |
---|---|
도커(docker) 추출된 이미지 윈도우에서 로드 하는 방법 (0) | 2021.12.01 |
[윈웨이] 로컬에서 docker 파일 실행 + C++ REST SDK + easyOCR 운전면허증 (0) | 2021.11.30 |
로컬에서 docker 컨테이너에게 환경변수와 실행 명령 전달하기 (0) | 2021.11.30 |
도커(docker) 파일 복사 방법 (0) | 2021.11.30 |