Docker 기본 문법
Page content
무작정 도커 시작하기
docker
에Ubuntu
를 설치하고 실행해본다.- 현재 파일 목록들을 살펴본다.
- 빠져 나올 때는
EXIT
를 실행한다.
C:\Users\human>docker run -it ubuntu:18.04
Unable to find image 'ubuntu:18.04' locally
18.04: Pulling from library/ubuntu
72d9f18d70f3: Pull complete
Digest: sha256:a3765b4d74747b5e9bdd03205b3fbc4fa19a02781c185f97f24c8f4f84ed7bbf
Status: Downloaded newer image for ubuntu:18.04
root@7a7a49e2d83e:/# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
root@7a7a49e2d83e:/#
- 현재 도커 컨테이너 리스트를 확인한다.
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7a7a49e2d83e ubuntu:18.04 "/bin/bash" 18 hours ago Up 5 minutes practical_euler
- STATUS가 Docker 컨테이너 재진입
docker exec -it 7a7a49e2d83e /bin/bash
- 현재 운영중인 도커를 멈추고 싶다면 아래와 같이 작성한다.
docker stop 7a7a49e2d83e
- 재활성화 하고 싶다면 아래와 같이 작업한다.
docker start 7a7a49e2d83e
컨테이너 이미지화
- 해당되는 도커를 이미지화 해서 배포하도록 한다.
- 우선 docker login을 진행한다.
$ docker login -u your_id
Password:
Login Succeeded
Authenticating with existing credentials...
Login Succeeded
Logging in with your password grants your terminal complete access to your account.
For better security, log in with a limited-privilege personal access token. Learn more at https://docs.docker.com/go/access-tokens/
- 기존 컨테이너 ID
7a7a49e2d83e
를 이미지로 변환한다.- 새로운
Repository
이름은mlearn
이라고 한다. - 태그 이름은
latest
라고 한다.
- 새로운
docker commit 7a7a49e2d83e your_id/mlearn:latest
- 도커 이미지가 만들어졌는지 확인한다.
ubuntu
이미지를 다운받았기 때문에 size가 비슷한 것을 확인할 수 있다.
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
your_id/mlearn latest b26bdf7b071e 29 minutes ago 63.1MB
ubuntu 18.04 5d2df19066ac 2 weeks ago 63.1MB
hello-world latest feb5d9fea6a5 16 months ago 13.3kB
- 도커 이미지를 push 하도록 한다.
docker push your_id/mlearn:latest
호스트 OS의 홈 폴더 마운트하기
- 호스트 OS의 홈 폴더를 마운트 하기 위해서는 컨테이너 실행 시
-v
옵션을 지정한다.:
기준으로 왼쪽은 로컬 PC, 오른쪽은 가상환경 내 경로임을 잊지 말자.
$ docker run -it -v C:\Users\human\Desktop\dockerhome:/home mlearn
- home 폴더에서 temp 폴더를 생성하면 아래와 같이 폴더가 만들어지는 것을 확인한다.
root@5c950356cfc3:/# cd home/
root@5c950356cfc3:/home# mkdir temp