기억의 습작

3. 도커 컨테이너 생성 및 삭제 본문

SCM (형상관리)/docker

3. 도커 컨테이너 생성 및 삭제

뿌사리다 2021. 9. 5. 09:31

목차

  1.  로그인
  2. 이미지 검색
  3. 다운로드
  4. 컨테이너 설치
  5. 업로드
  6. 삭제
  7. 오프라인 환경을 위한 이미지 import/export

 

1. 도커 로그인

1.1 도커 로그인

$ docker login

https://hub.docker.com 사이트에 가입한 계정을 로그인 하는 것이다.
라이선스가 존재하는 이미지를 다운로드 받기 위해서는 도커에 로그인 해야 다운로드가 가능하다. (ex) 오라클 이미지.

공인 사이트 dockhub  저장소에 로그인

$ docker login ppusari.iptime.org:5000      <-- 사설 도커 저장소(docker registry) 에 로그인하기

사설 도커 저장소에 로그인

 

다음과 같은 오류로 인해 로그인이 안될때 

Error response from daemon: Get https://ppusari.iptime.org:5000/v1/users/: http: server gave HTTP response to HTTPS client

조치사항  (편집기를 이용하여 추가한다)
$ sudo vi /etc/docker/daemon.json

{ "insecure-registries" : ["ppusari.iptime.org:5000"] }

 

 

 

1.2 도커 로그 아웃

$ docker logout

 

2. 이미지 검색

2.1 이미지 검색

$ docker search ubuntu     <-- dockhub  에 있는 이미지를 검색

2.1 사설 이미지 서버 검색

http://ppusari.iptime.org:5000/v2/_catalog    <-- 사설 주소가 ppusari.iptime.org:5000 이라면  저렇게 검색가능

catalog 검색

http://ppusari.iptime.org:5000/v2/centos7/tags/list    <--  catalog에서 나온 리스트 자세히 검색 (예제는 centos7을 검색)

catalog 를 자세희 검색

 

3. 이미지 다운로드


3.1 이미지 다운로드

$ docker pull ubuntu       <- search 명령어를 통해 확인된 NAME을 입력하면 다운로드 된다.
$ docker pull ppusari.iptime.org:5000/centos7:0.0.2     <-사설 레파지토리에서 이미지 가져오기 (선 로그인 되어야함)

사설 저장소에서 이미지 가져오기

 

4. 컨테이너 설치

4.1 이미지 다운로드 
$ docker pull centos     <-- centos 이미지를 dockhub 저장소 에서 다운로드 받는다.

4.2 centos 설치
$ docker run -d --name my-centos centos /usr/sbin/init    <-- 예제로 centos 설치 (방법1)
$ docker run -d --privileged --name my-centos2 -h centos -p 11022:22 -p 11080:8080 --restart always centos /usr/sbin/init    <-- 포트로 접속할 수 있도록 설정 후 centos 설치 (방법2)

4.3 ubuntu 설치
$ docker run -d --name my-ubuntu ubuntu   <-- 예제로 ubuntu설치 (방법1)
$ docker run -d --privileged --name my-ubuntu -h ubuntu -p 11122:22 -p 11180:8080 --restart always ubuntu    <-- 포트로 접속할 수 있도록 설정 후 ubuntu 설치 (방법2)

4.4 기타 등등등.
$ ...(유용한 컨테이너 소개 편 참고)

 

5. 이미지 업로드

5.1 Dockhub 에 업로드

$ docker login ←  https://hub.docker.com 가입한 계정을 입력한다
$ docker tag hello_world ppusarida/hello_world ←사용자 계정(ppusarida) 이름으로 이미지명을 변경해야 업로드 가능
$ docker commit -m "just commit" hello_world ppusarida/hello_world   <- hello_world 컨테이너 이름을 커밋
$ docker push ppusarida/hello_world  ← 커밋 후 업로드해야 서버에 올라감

5.2 개인 서버에 업로드

$ docker tag localhost:5000/centos7:0.0.1 ppusari.iptime.org:5000/centos7:0.0.2 ← 업로드를 위해 tag 생성
$ docker commit -m "just commit" -a "optiona" centos7 ppusari.iptime.org:5000/centos7:0.0.2
$ docker push ppusari.iptime.org:5000/centos7:0.0.2   ← 커밋 후 업로드해야 개인 서버에 올라감

더보기

 - 브런치https가 아닌 http 환경때문에 업로드가 안될 때

$ sudo vi /etc/docker/daemon.json   ← 아래와 같이 파일 수정 (없으면 파일을 생성)
windows경우: C:ProgramData\Docker\config\daemon.json  파일에 있음. (docker GUI 메뉴에 있음)

    { "insecure-registries":["your.domain.com:5000"] }

$ sudo service docker restart     ← 도커 재시작 필요

 

6. 컨테이너 삭제

$ docker rm centos4

centos4 가 사라진 모습을 확인할 수 있다.

 

사용하지 않은 docker 오브젝트 모두 삭제

$ docker system prune

 

7. 이미지 삭제

$ docker rmi ppusari/hello_world:latest

ppusari/hello_world 이미지가 삭제됨.

 

8. 오프라인 환경을 위한  이미지 불러오기/저장

8.1 이미지 저장

$ docker save -0 centos.tar centos:latest          <- centos 이미지를 centos.tar 파일로 만든다
이후 내가 생성한 centos.tar 파일을 복사해서 다른 도커가 설치된 PC에  옮긴다

8.2 이미지 로드

$ docker load -i centos.tar      <- 복사해온 centos.tar 파일을 -i 옵션을 통해 마침 docker pull 한것 처럼 적용된다.

 

728x90
반응형
LIST