Docker

Docker container를 Docker image로 빌드

helperwoo Dev 2022. 12. 17. 02:58
반응형

1. 목표

  • Docker container의 환경을 Docker image로 만들면 내가 필요한 컨테이너 환경을 커스텀하여 사용
  • ubuntu기반 NVM(Node Version Manager)가 설치된 Docker container를 Docker image로 생성

 

2. 환경

  • Windows11
  • Docker version 20.10.16
  • Docker Compose version v2.6.0
  • Ubuntu 18.04
  • NVM

 

3. 진행과정

3-1. Docker Hub에서 사용할 OS image 선택

 

3-2. 선택한 OS image로 Docker container 실행

# docker-compose.yml
version: "3.7"

services:
  ubuntu:
    image: ubuntu:18.04
    command: tail -f /dev/null
# docker-compose.yml 실행
docker-compose up -d

 

3-3. Docker container 내부에 NVM 설치

apt-get update

apt-get install curl -y

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash

 

3-4. Docker container commit

# docker commit <container-name> <image-name>:<tag>
docker commit ubuntu_nodejs-ubuntu-1 ubuntu-nodejs:my

 

3-5. 생성된 Docker image로 Docker container 실행

# docker-compose.yml
version: "3.7"

services:
  ubuntu:
    image: ubuntu-nodejs:my

 

3-6. Docker container 내부에서 프로필 파일 하단에 NVM 소스 라인 적용

export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

반응형