Docker 개인 웨어하우스, 볼륨, 포트 매핑

사유창고 구축 사유창고 구축 절차 (1)registry 이미지를 다운로드하고 문자 단말기 (2) 클라이언트에daemon을 설정합니다.json 파일, 개인 창고 위치 지정(3)registry 용기 생성, 5000 포트 개방(4) 이미지 탭: docker tag 원래 이미지 이름 창고 IP: 포트/이미지 이름 (반드시 탭) (5) 업로드 이미지: docker push 창고 IP: 포트/이미지 이름 (6) 다운로드 이미지: docker pull 창고 IP: 포트/이미지 이름 (docker images로 보기)
사유 창고를 건립하다.
[root@docker ~]# docker pull registry
[root@docker ~]# vim /etc/docker/daemon.json 
{
  "insecure-registries": ["192.168.7.168:5000"],    //          ","  
  "registry-mirrors": ["https://syy5204b.mirror.aliyuncs.com"]
}
[root@docker ~]# systemctl restart docker
[root@docker ~]# docker run -d -p 5000:5000 -v /data/registry:/tpm/registry registry
#     /data/registry           /tpm/registry
[root@docker ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
4e3029f01510        registry            "/entrypoint.sh /etc…"   4 seconds ago       Up 4 seconds        0.0.0.0:5000->5000/tcp   eager_northcutt
[root@docker ~]# docker pull nginx 
[root@docker ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              e791337790a6        About an hour ago   127MB
[root@docker ~]# docker tag nginx:latest 192.168.7.168:5000/nginx
[root@docker ~]# docker images
REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
192.168.7.168:5000/nginx   latest              e791337790a6        2 hours ago         127MB
[root@docker ~]# docker push 192.168.7.168:5000/nginx
#         
curl -XGET http://192.168.7.168:5000/v2/_catalog
{"repositories":["nginx"]}
[root@docker ~]# docker rmi 192.168.7.168:5000/nginx:latest 
[root@docker ~]# docker pull 192.168.7.168:5000/nginx
Using default tag: latest
latest: Pulling from nginx
Digest: sha256:6b3b6c113f98e901a8b1473dee4c268cf37e93d72bc0a01e57c65b4ab99e58ee
Status: Downloaded newer image for 192.168.7.168:5000/nginx:latest
192.168.7.168:5000/nginx:latest
[root@docker ~]# docker images
REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
192.168.7.168:5000/nginx   latest              e791337790a6        2 hours ago         127MB

Docker 데이터 볼륨 docker 데이터 볼륨은 숙주 시스템을 마운트하는 저장 공간을 통해
[root@docker ~]# docker pull centos
#     /var/www/      /data1
#             ,       
[root@docker ~]# docker run -v /var/www:/data1 --name test1 -it centos /bin/bash
[root@3ea73938c9b5 /]# cd /data1/
[root@3ea73938c9b5 data1]# touch test123
#         
[root@docker ~]# ls /var/www/
test123

Docker 데이터 볼륨 컨테이너 마운트 컨테이너의 저장 공간
#       
[root@docker ~]# docker run --name web100 -v /data1 -v /data2 -it centos /bin/bash
[root@44c8fbe8e01a /]# ls
bin    data2  etc   lib    lost+found  mnt  proc  run   srv  tmp  var
data1  dev    home  lib64  media       opt  root  sbin  sys  usr
#          web100
[root@docker ~]# docker run -it --volumes-from web100 --name db1 centos /bin/bash
[root@9b0b7f686192 /]# ls
bin    data2  etc   lib    lost+found  mnt  proc  run   srv  tmp  var
data1  dev    home  lib64  media       opt  root  sbin  sys  usr
#        ,                

포트 매핑
#     
[root@docker ~]# docker run -d -P nginx
[root@docker ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                        PORTS                     NAMES
6dd91cea1325        nginx               "nginx -g 'daemon of…"   4 seconds ago       Up 4 seconds                  0.0.0.0:1234->80/tcp      eager_mclean
#    
[root@docker ~]# docker run -d -p 1234:80 nginx
[root@docker ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                        PORTS                     NAMES
fd952499c2c5        nginx               "nginx -g 'daemon of…"   8 seconds ago       Up 7 seconds                  0.0.0.0:32768->80/tcp     infallible_beaver
  • -P: 임의 매핑 포트 지정
  • -p: 고정된 IP 주소 매핑 용기에서 상호 연결(centos 렌즈 사용)
    #         web1,       
    [root@docker ~]# docker run -itd -P --name web1 centos /bin/bash
    #         web2,  web1
    [root@docker ~]# docker run -itd -P --name web2 --link web1:web1 centos /bin/bash
    # web2    ping web1
    [root@docker ~]# docker exec -it 3c0d72923de3 /bin/bash
    [root@3c0d72923de3 /]# ping web1
    PING web1 (172.17.0.5) 56(84) bytes of data.
    64 bytes from web1 (172.17.0.5): icmp_seq=1 ttl=64 time=0.200 ms
    64 bytes from web1 (172.17.0.5): icmp_seq=2 ttl=64 time=0.110 ms
  • 좋은 웹페이지 즐겨찾기