Dockerfile
생성하여 컨테이너 이미지를 만드는 지침을 삽입한다.docker build -t getting-started
-t
명령어는 태그를 지정해주는 기능이다.docker run -dp 3000:3000 getting-started
-d
: 분리 모드(백그라운드)에서 컨테이너 실행-p number:number
: 호스트의 포트 번호를 컨테이너의 포트에 맵핑getting-started
: 사용할 이미지docker build -t getting-started
docker ps
docker stop CONTAINERID
docker rm CONTAINERID
docker run -dp 3000:3000 getting-started
push
하기 위해서는 태그를 지정해야 한다.docker login -u userName
docker tag getting-started userName/getting-started
getting-started
라는 이미지에 userName/getting-started
라는 새로운 태그를 달아준다.docker push userName/getting-started
push
된 컨테이너 이미지는 해당 사이트에서 새로운 인스턴스를 추가하여 실행할 수 있다.layer
를 사용한다. 그리고 각 컨테이너 파일에는 업데이트를 반영하는 scratch space
공간도 별도로 있다. 그렇기에 동일한 이미지로 두가지의 컨테이너를 실행하더라도 변경사항이 다른 컨테이너에 표시되지 않는다.docker volume create fileName
docker run -dp 3000:3000 -v fileName:/etc/todos getting-started
docker rm -f CONTAINERID
docker run -dp 3000:3000 -v fileName:/etc/todos ...
docker volume inspect fileName
[
{
"CreatedAt": "2021-01-26T08:10:59Z",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/todo-db/_data", // 디스트상의 실제 위치
"Name": "todo-db",
"Options": {},
"Scope": "local"
}
]
docker run -dp 3000:3000 \ -w /app -v "$(pwd):/app" \ node:12-alpine \ sh -c "yarn install && yarn run dev"