docker run 명령어를 docker compose로 변환하기

docker run 명령어를 docker compose로 변환하기

컴퓨터, 소프트웨어 2023년 1월 20일
현재 Docker 로고
예전 Docker 로고

도커란? (잡담)

윈도우 사용하시는 분들은 거의 안쓰지만 리눅스에서는 신세계가 열리는 도커란 놈이 있죠. 뭐 이 글 읽으시는 분들은 뭔지 다 알겠지만요.

그냥 궁금하신 분들을 위해 초간단 설명을 하자면 가상화 기술을 이용한 컨테이너로 소프트웨어를 실행하는 기술입니다.

도커를 사용하면 각각의 소프트웨어를 독립적인 공간(컨테이너)에서 실행할 수 있습니다. OS와는 별도로 컨테이너 내의 설정을 다르게 하거나 컨테이너 안에만 추가 소프트웨어를 설치하거나 할 수도 있어서 OS 관리 및 보안에도 유리합니다. OS뿐만 아니라 도커 컨테이너로 실행하는 소프트웨어 관리도 편합니다. 저는 리눅스 커맨드랑 안친해서 도커 없으면 리눅스 사용이 너무 불편합니다.

도커를 예전에 mirantis라는 소프트웨어 회사에서 docker를 인수했는데 risc-V처럼 상장하면 초대박일겁니다. 근데 영 소식이...

도커 명령어를 도커 컴포즈로 변환 ("docker run" to "docerk-compose.yml")

도커를 사용할 때 docker run으로 실행하는 쪽을 선호하시는 분들도 있습니다만 저 같은 경우는 docker-compose 쪽을 훨씬 더 많이 사용합니다. 폴더별로 docker-compose.yml 파일 보관하기에도 편하고, 라인이 나눠져 있어 수정도 편합니다. 그래서 여러 컨테이너를 복합적으로 사용하지 않을 때에도 전부 docker-compose를 이용합니다.

도커 런 (docker run)명령어로 작성된 라인을 도커 컴포즈를 변환해주는 사이트를 이용하면  docker run 명령어를 docker-compose.yml 로 쉽게 변환할 수 있습니다.

https://www.composerize.com/

Composerize

www.composerize.com

docker run 명령어 예

docker run -d --name navidrome --restart=unless-stopped -v /path/to/music:/music -v /path/to/data:/data -p 4533:4533 -e ND_LOGLEVEL=info deluan/navidrome:latest

docker-compose.yml 파일로 변환 예

version: '3.3'
services:
    navidrome:
        container_name: navidrome
        restart: unless-stopped
        volumes:
            - '/path/to/music:/music'
            - '/path/to/data:/data'
        ports:
            - '4533:4533'
        environment:
            - ND_LOGLEVEL=info
        image: 'deluan/navidrome:latest'

사이트를 이용하면 위와 같이 대략적인 변환이 이루어집니다. 다만, 몇몇 항목이나 변수가 들어간 라인은 제대로 변환이 되지 않을 수도 있습니다.

따라서 만약 소프트웨어 제작자가 docker-compose.yml 예제를 적어준다면 그것을 사용하는 쪽이 더 좋습니다.


#변환 #docker #도커 #docker-compose #도커컴포즈

태그

BoniK

협업, 의뢰, 레슨 등 문의 : mail@bonik.me | https://open.kakao.com/me/bonik

Bubble button icon