Docker 미 러 구축

1.docker 미 러 구축
1.환경 준비
환경 준비
IP			   			    
192.168.56.11		linux-node1		centos7

  :       centos7,     centos5  centos6,          ,  Docker           

2.구축 방식
-     
-     ,(  Dockerfile  )

3.기 존 미 러 삭제
방 해 를 방지 하기 위해 서 이전에 만 든 용 기 를 모두 삭제 합 니 다.
  
  
  :      。 
               。。。

용기 ID 가 져 오기
[root@linux-node1 ~]# docker ps -a -q #      ID
4c37ade49a7a
1a0ec7a5b1a5
fd11374b2a58
cbc91bef8ea7
1b1113fe3b8e
c4c9b4947e61
17df7e2a5667
4d5a21ea94e0
d6e7283abf0a
7ada4ff8323a
c627741a7dc1
9476c8be9125

그리고 모든 용 기 를 멈 춰 라.
[root@linux-node1 ~]# docker kill $(docker ps -a -q)
4c37ade49a7a
1b1113fe3b8e
c4c9b4947e61
17df7e2a5667
c627741a7dc1
Failed to kill container (1a0ec7a5b1a5): Error response from daemon: Cannot kill container 1a0ec7a5b1a5: Container 1a0ec7a5b1a5d931f2f887ee2fb3680d9d56b109be37044414346269f2a0bf72 is not running
Failed to kill container (fd11374b2a58): Error response from daemon: Cannot kill container fd11374b2a58: Container fd11374b2a58741542c931a4eb661c6a8f3a230a13057d28a96e1cdb6c898530 is not running
Failed to kill container (cbc91bef8ea7): Error response from daemon: Cannot kill container cbc91bef8ea7: Container cbc91bef8ea779668a696046c1aa905ba2dc65e64ed5b403633b3284e00ec126 is not running
Failed to kill container (4d5a21ea94e0): Error response from daemon: Cannot kill container 4d5a21ea94e0: Container 4d5a21ea94e0df102198812fd899d8293198a2376dd5d952642113b76448ca65 is not running
Failed to kill container (d6e7283abf0a): Error response from daemon: Cannot kill container d6e7283abf0a: Container d6e7283abf0a7e423576df645ac36c35a691153d06d63439faf72d3ce3037529 is not running
Failed to kill container (7ada4ff8323a): Error response from daemon: Cannot kill container 7ada4ff8323a: Container 7ada4ff8323ad67e33fa4c52cd585a46cf9e62733505a54a7a7eb13cf33c0873 is not running
Failed to kill container (9476c8be9125): Error response from daemon: Cannot kill container 9476c8be9125: Container 9476c8be91256e20da7f567f5a261f3f754b736ab6402c714180db713e3d346b is not running

모든 용기 삭제
[root@linux-node1 ~]# docker rm $(docker ps -a -q)
4c37ade49a7a
1a0ec7a5b1a5
fd11374b2a58
cbc91bef8ea7
1b1113fe3b8e
c4c9b4947e61
17df7e2a5667
4d5a21ea94e0
d6e7283abf0a
7ada4ff8323a
c627741a7dc1
9476c8be9125

2.미 러 만 들 기
1、수 동 으로 이미지 만 들 기
Nginx 미 러 를 수 동 으로 만 듭 니 다.
root@linux-node1 ~]# docker run --name mynginx -it centos #    docker  

[root@312bc2c902da /]# rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm   #  epel 
Retrieving http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
warning: /var/tmp/rpm-tmp.QKhuVj: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:epel-release-7-8                 ################################# [100%]
[root@312bc2c902da /]# yum install -y nginx    #      nginx

  nginx    ,      
[root@312bc2c902da nginx]# cat /etc/nginx/nginx.conf
# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/
daemon off;       #            nginx,                    ,                    nginx
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;

미 러 를 로 컬 에 제출 합 니 다.
[root@linux-node1 ~]# docker commit -m "my nginx" 312bc2c902da onepiece/mynginx:v1
sha256:273e37f59d87495c481ef8c23d32b33723103799aeb1194c1c632703fc70ad9f
     
-m   ,     ID ,onepiece       

미 러 보기
[root@linux-node1 ~]# docker p_w_picpaths     #             
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
onepiece/mynginx    v1                  273e37f59d87        4 minutes ago       261.9 MB

포트 맵 생 성
[root@linux-node1 ~]# docker run --name mynginxv1 -d -p 81:80 onepiece/mynginx:v1 nginx
3213254d75a9ab740c180cca295b427a408f8a50881cf844dfcc3f904751e53b
[root@linux-node1 ~]# docker ps
CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS              PORTS                NAMES
3213254d75a9        onepiece/mynginx:v1   "nginx"             12 seconds ago      Up 11 seconds       0.0.0.0:81->80/tcp   mynginxv1

#              
[root@linux-node1 ~]# ./docker_in.sh mynginxv1
[root@3213254d75a9 /]# cd /var/log/nginx/
[root@3213254d75a9 nginx]# ls
access.log  error.log
[root@3213254d75a9 nginx]# cat access.log     #         
192.168.56.1 - - [19/Sep/2016:09:02:17 +0000] "GET / HTTP/1.1" 200 3700 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36" "-"
192.168.56.1 - - [19/Sep/2016:09:02:17 +0000] "GET /nginx-logo.png HTTP/1.1" 200 368 "http://192.168.56.11:81/" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36" "-"

2.Dockerfile 기반 미 러 만 들 기
Dockerfile:텍스트 형식 입 니 다.
우선 Dockerfile 이 있 는 디 렉 터 리 를 계획 합 니 다.예 를 들 어/opt/dockerfile/nginx
주의:D 는 대문자 여야 합 니 다.Dockerfile 을 사용 하여 미 러 를 구축 할 때 현재 디 렉 터 리 에서 Dockerfile 이라는 파일 을 읽 습 니 다.
[root@linux-node1 /opt/dockerfile/nginx]# cat Dockerfile 
#base p_w_picpaths
FROM centos          #        ,   FROM centos,         
#maintainer
MAINTAINER JackyWang  #    
#Commands
RUN rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
RUN yum install -y nginx && yum clean all         #RUN     ,         
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
ADD index.html /usr/share/nginx/html/index.html  #ADD    ,         
#index.html        
EXPOSE 80              #      80  
CMD ["nginx"]           #     ,    nginx  

Dockerfile 을 작성 한 후 구축 을 시작 합 니 다.
[root@linux-node1 /opt/dockerfile/nginx]# docker build -t mynginx:v2 .
Sending build context to Docker daemon 3.072 kB
Step 1 : FROM centos
 ---> 980e0e4c79ec
Step 2 : MAINTAINER JackyWang
 ---> Using cache
 ---> 33f84558f81d
Step 3 : RUN rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
 ---> Using cache
 ---> 21a39298e95b
Step 4 : RUN yum install -y nginx && yum clean all
 ---> Using cache
 ---> c16994d2c471
Step 5 : RUN echo "daemon off;" >> /etc/nginx/nginx.conf
 ---> Using cache
 ---> 39308efba34d
Step 6 : ADD index.html /usr/share/nginx/html/index.html
 ---> Using cache
 ---> 86464cc2b1d3
Step 7 : EXPOSE 80
 ---> Using cache
 ---> 89a262db6b6c
Step 8 : CMD nginx
 ---> Using cache
 ---> f735be220129
Successfully built f735be220129
            docker        

구축 후 용 기 를 실행 하면 정상적으로 작 동 할 수 있 습 니 다.
[root@linux-node1 /opt/dockerfile/nginx]# docker run --name mynginxv2 -d -p 82:80 mynginx:v2
6ec8783771d6aa06ec0c8628c9fa643c47efcca8b698ab5f6a4dade5c3cb335d

좋은 웹페이지 즐겨찾기