docker 학습 노트 2 dockerfile 사용자 정의 미 러 인식

2736 단어
Dockerfile 개념
Dockerfile 은 텍스트 파일 이지 만 빌 드 용기 가 실 행 될 때의 인자, 라 이브 러 리, 자원 설정 을 포함 합 니 다.Centos / Nginx 와 같은 기 존의 미 러 로 간단하게 이해 할 수 있 습 니 다. 그러나 우 리 는 용 기 를 구축 해 야 할 때 이 두 미 러 를 조합 해 야 합 니 다. 예 를 들 어 Nginx 용 기 를 구축 하 는 것 입 니 다.
  • 그러면 먼저 운영 체제 가 필요 하 다. 예 를 들 어 Centos
  • 그리고 이 운영 체제 에서 NGINX
  • 를 다운로드 합 니 다.
  • Nginx 감청 포트 설정 등.

  • 이렇게 하면 용기 하나 가 만들어 지 는 것 이 아 닙 니까?이 용 기 는 독립 적 으로 운행 하 는 운영 체제 다.
    거울 과 용기 의 관계
    거울 이 움 직 이기 시작 하면 용기 가 된다.하나의 거울 은 여러 개의 용 기 를 생 성 할 수 있다.이것 은 마치 두 가지 상태 와 같다.
    Dockerfile 형식
    
    #         
    FROM centos:centos7
    
    #      
    MAINTAINER mrc [email protected]
    
    #        RUN     
    RUN curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    
    RUN yum -y update
    
    RUN yum install -y epel-release
    
    RUN yum install -y nginx
    
    #RUN echo '

    hello world docker

    ' >> /usr/share/nginx/html/index.html # CMD /usr/sbin/nginx

    Dockerfile 파일 에 포 함 된 내용 은 이 네 부분 입 니 다.처음부터 기본 미 러 정 보 를 지정 해 야 합 니 다.관리자 정보이후 RUN 명령 을 통 해 미 러 조작 명령 을 실행 하여 기본 미 러 를 조작 합 니 다.
    CMD 명령 은 사용자 가 용기 의 기본 실행 명령 을 지정 할 수 있 도록 합 니 다.이 명령 은 용기 가 시작 되 고 docker run 이 다른 명령 을 지정 하지 않 았 을 때 실 행 됩 니 다.
    미 러 구축
    방금 Dockerfile 파일 을 통 해 지정 한 미 러 파일 을 사용자 정의 하 였 습 니 다.이제 이 미 러 로 파일 을 만들어 서 사용자 정의 미 러 를 만 듭 니 다.docker build 명령 은 현재 디 렉 터 리 Dockerfile 파일 과 컨 텍스트 에 따라 새로운 미 러 를 구축 합 니 다.
    컨 텍스트 는 현재 디 렉 터 리 나 git 창고 주 소 를 말 합 니 다.컨 텍스트 를 구축 하면 하위 디 렉 터 리 를 옮 겨 다 니 며 재 귀적 으로 처리 합 니 다..dockerignore 파일 을 통 해 컨 텍스트 디 렉 터 리 에 필요 하지 않 은 하위 디 렉 터 리 를 무시 할 수 있 습 니 다.
    보통 새 폴 더 아래 Dockerfile 파일 을 설치 하여 구축 합 니 다.
    mkdir -p docker
    
    cd docker
    
    vi Dockerfile
    
    ##       
    FROM nginx
    RUN echo '

    Hello, Docker!

    ' > /usr/share/nginx/html/index.html # -t docker build -t test:v1 .

    실행 미 러
    docker run --name docker_test -d -p 8080:80 test:v1
  • test 는 이름 v1 을 표시 하거나 버 전
  • 이 라 고도 부른다.
  • --name 는 운행 시의 이름
  • 을 나타 낸다.
  • -d 백 스테이지 운행
  • -p 포트 맵 은 이 컴퓨터 8080 포트 를 nginx 80 포트
  • 에 투사 합 니 다.
    이 컴퓨터 IP + 8080 포트 에 접근
    동적 수정
    만약 내 가 이 용기 안의 내용 을 수정 하고 싶다 면?물론 대화 할 수 있 는 명령 줄 도 있 습 니 다.
    docker exec -it docker_test bash
  • -i 연결 되 지 않 아 도 STDIN 켜 기 유지
  • -t 위 TTY
  • 에 게 분배
  • bash 즉 명령 프로세서
  • 보기 내용 변경 새로 고침
    용기 내용 변경 보기
    docker diff xxx

    용기 조작
    
    
    ###     
    docker container stop name
    
    ###           
    docker container start xxx
    
    ###     
    docker container restart xxx
    

    레 퍼 런 스
    https://www.cnblogs.com/ityouknow/p/8588725.html

    좋은 웹페이지 즐겨찾기