docker 학습 (3) docker 명령 대전, 요약

12068 단어 빅 데이터docker
용기 수명 주기 관리
service docker start
run     docker run: 새 용 기 를 만 들 고 명령 start / stop / restart 를 실행 합 니 다.  docker start :정지 되 어 있 는 용 기 를 하나 이상 시작 합 니 다.  docker stop :실행 중인 용 기 를 정지 합 니 다.  docker restart :용기 kill 다시 시작
 
  docker kill :운행 중인 용 기 를 죽여 라.rm
  docker rm: 하나 이상 의 용기 삭제 pause / unpause
 
  docker pause :용기 의 모든 프로 세 스 를 일시 정지 합 니 다.
  docker unpause :용기 의 모든 프로 세 스 를 복원 합 니 다.
create
  docker create: 새 용 기 를 만 들 지만 시작 하지 않 습 니 다.
exec 
  docker exec: 실행 중인 용기 에서 명령 실행
용기 조작
 
ps
 
  docker ps : 용기 목록
inspect
  docker inspect : 용기 / 미 러 의 메타 데 이 터 를 가 져 옵 니 다.
top
  docker top: 용기 에서 실행 중인 프로 세 스 정 보 를 보고 ps 명령 인 자 를 지원 합 니 다.
attach
  docker attach: 실행 중인 용기 에 연결 합 니 다.
events
  docker events : 서버 에서 실시 간 이벤트 가 져 오기
logs 
  docker logs : 용기 로그 가 져 오기
wait
  docker wait : 용기 가 멈 출 때 까지 실행 을 막 고 종료 코드 를 출력 합 니 다.
export
  docker export: 파일 시스템 을 tar 압축 파일 로 STDOUT 로 내 보 냅 니 다.
port
  docker port: 지정 한 용기 의 포트 맵 을 표시 하거나 PRIVATE 를 찾 습 니 다.PORT NAT 에서 대중 을 위 한 포트 로.
용기 rootfs 명령
 
commit
 
  docker commt: 용기 에서 새 미 러 를 만 듭 니 다.
cp
  docker cp: 용기 와 호스트 사이 의 데이터 복사 에 사용 합 니 다.
diff
  docker diff : 용기 안의 파일 구조의 변경 을 검사 합 니 다.
미 러 창고
 
login  
 
 
  docker login : Docker 미 러 창고 에 로그 인 합 니 다. 미 러 창고 주소 가 지정 되 지 않 으 면 기본적으로 공식 창고 Docker Hub 입 니 다.
  docker logout : Docker 미 러 창고 에 로그 인 합 니 다. 미 러 창고 주소 가 지정 되 지 않 으 면 기본적으로 공식 창고 Docker Hub 입 니 다.
pull
  docker pull : 미 러 창고 에서 지정 한 미 러 를 끌 어 오 거나 업데이트 합 니 다.
push
  docker push : 로 컬 미 러 를 미 러 창고 에 업로드 하려 면 미 러 창고 에 먼저 로그 인해 야 합 니 다.
search
  docker search : Docker Hub 에서 미 러 찾기
로 컬 미 러 관리
 
images
 
  docker images : 로 컬 미 러 를 보 여 줍 니 다.
rmi
  docker rmi : 로 컬 하나 이상 의 미 러 를 삭제 합 니 다.
tag
  docker tag : 로 컬 미 러 를 표시 하여 창고 에 넣 습 니 다.
build
  docker build : Dockerfile 을 사용 하여 미 러 를 만 듭 니 다.
history
  docker history : 지정 한 미 러 의 생 성 기록 을 봅 니 다.
save
  docker save : 지정 한 미 러 를 tar 압축 파일 로 저장 합 니 다.
import
  docker import : 압축 파일 에서 미 러 를 만 듭 니 다.
info|version
info
  docker info: 미 러 와 용기 수 를 포함 하여 Docker 시스템 정 보 를 표시 합 니 다.
version
  docker version: Docker 버 전 정 보 를 표시 합 니 다.
 
기본 개념
 
Docker 는 세 가지 기본 개념 을 포함한다.
미 러 사진
  • (이미지)
  • 용기 (컨테이너)
  • 창고 (Repository)
  • 이 세 가지 개념 을 먼저 이해 하고 Docker 의 전체 수명 주 기 를 이해 했다.
    1. docker 설치 및 시작
    yum install -y epel-release
    yum install docker-io #   docker
    #      /etc/sysconfig/docker
    
    chkconfig docker on  #       
    service docker start #   docker  
    
    #       
    docker version #   docker    ,     、   、   Go 
    docker info #     (docker)    ,     images, containers  
    docker pull centos   
    docker images [ centos ]   
    docker run -i -t centos /bin/bash

     
    2. 미 러 의 획득 과 용기 의 사용
    #     
    docker search  #  docker index   image
    #     
    docker pull   #  docker registry server    image
    #      
        docker images: #   images
        docker images -a #      images(    )
        docker rmi  : #        image
  •  
  • #         
    docker run -i -t sauloal/ubuntu14.04
    docker run -i -t sauloal/ubuntu14.04 /bin/bash #       ,      bash   ,       
    docker run -itd --name centos_aways --restart=always centos #      centos_aways   ,    
    # --restart  :always    ;on-failure     0   ;   ,no   
    
    #     
        docker ps :           container
        docker ps -l :         container
        docker ps -a :     container(    ,     container)
        docker ps -q :         container ID
    #       
        docker start/stop/restart  #:  /  /  container
        docker start [container_id] #:      container (    container)
    #       docker  
        docker exec -it [container_id] /bin/bash
        docker run -i -t -p  #:   HOST      ,           ,host_port     ,      container_port          。
    
    #     
        docker rm  #:       container
        docker rm `docker ps -a -q` #:     container
        docker ps -a -q | xargs docker rm #:  ,      containerdocker run   docker create       ,run          ,create      。 

    docker run 은 docker create 와 docker start 에 해당 합 니 다.
    run    :docker run -itd
    create  : docker create -it
        -t, --tty                       Allocate a pseudo-TTY
        -i, --interactive               Keep STDIN open even if not attached
        -d, --detach                    Run container in background and print container ID #run   

    용기 자원 제한 파라미터
    -m 1024m --memory-swap=1024m  #         (bug:        )
    --cpuset-cpus="0,1"           #       CPU

    docker 용기 시스템 자동 시작 매개 변수
    docker run --restart=always redis
    
    • no – 默认值,如果容器挂掉不自动重启
    • on-failure – 当容器以非 0 码退出时重启容器 
      • 同时可接受一个可选的最大重启次数参数 (e.g. on-failure:5).
    • always – 不管退出码是多少都要重启docker run -itd --name test01 -p IP:sport:dport -m 1024m --memory-swap=1024m --cpuset-cpus="0,1" --restart=always
    docker exec -it test01 bash  #         exec  

    용기 상태 정보 보기
    [root@localhost ~]# docker stats 
    [root@localhost ~]# docker stats --no-stream
    

    进入容器 - nsenter 命令

    nsenter安装 
    nsenter 工具在 util-linux 包2.23版本后包含。 如果系统中 util-linux 包没有该命令,可以按照下面的方法从源码安装。

    cd /usr/src ; wget https://www.kernel.org/pub/linux/utils/util-linux/v2.28/util-linux-2.28.tar.gz
    ./configure --without-ncurses
    make nsenter && sudo cp nsenter /usr/local/bin
    nsenter   

    nsenter 는 다른 프로 세 스 의 이름 공간 에 접근 할 수 있 습 니 다.nsenter 가 정상적으로 일 하려 면 루트 권한 이 필요 합 니 다.  용기 에 연결 하기 위해 서 는 용기 의 첫 번 째 프로 세 스 의 PID 를 찾 아야 합 니 다. 아래 명령 을 통 해 가 져 올 수 있 습 니 다.
    PID=$(docker inspect --format "{{ .State.Pid }}" )

     
    이 PID 를 통 해 이 용기 에 연결 할 수 있 습 니 다.
    nsenter --target $PID --mount --uts --ipc --net --pid

     
    더 쉬 운 것 은. bashrc 를 다운로드 하 는 것 을 권장 합 니 다.docker, 그리고 내용 을 'bashrc' 에 넣 습 니 다.
    wget -P ~ https://github.com/yeasy/docker_practice/raw/master/_local/.bashrc_docker;
    echo "[ -f ~/.bashrc_docker ] && . ~/.bashrc_docker" >> ~/.bashrc; source ~/.bashrc

    이 파일 은 Docker 를 사용 하기 편리 한 명령 을 많이 정의 합 니 다. 예 를 들 어 docker - pid 는 용기 의 PID 를 가 져 올 수 있 습 니 다.그리고  docker - enter 는 용기 에 들 어가 거나 용기 안에서 명령 을 직접 수행 할 수 있 습 니 다.
    echo $(docker-pid )
    docker-enter  ls
    docker-enter  bash

    3. 지구 화 용기 와 미 러
    3.1 용 기 를 통 해 새로운 미 러 생 성
    실행 중인 미 러 를 용기 라 고 합 니 다.용 기 를 수정 할 수 있 습 니 다 (예 를 들 어 파일 을 삭제 하 는 것). 그러나 이 수정 들 은 미 러 에 영향 을 주지 않 습 니 다.단, docker commt 명령 을 사용 하면 실행 중인 용 기 를 새로운 미 러 로 만 들 수 있 습 니 다.
    docker commit  [repo:tag] #    container       image,   repo:tag  。
  • 1

  • 3.2 지구 화 용기
    export 명령 은 용 기 를 지구 화 하 는 데 사 용 됩 니 다.
    docker export  > /tmp/export.tar
  • 1

  • 3.3 지구 화 미 러
    Save 명령 은 미 러 를 영구적 으로 유지 하 는 데 사 용 됩 니 다.
    docker save   ID > /tmp/save.tar
  • 1

  • 3.4 영구 화 컨테이너 가 져 오기
    container 2161509 ff 65e 삭제
    docker rm 2161509ff65e
  • 1

  • export. tar 파일 가 져 오기
    cat /tmp/export.tar | docker import - export:latest
  • 1

  • 3.5 지구 화 이미지 가 져 오기
    이미지 삭제 daa11948e23d
    docker rmi daa11948e23d
  • 1

  • save. tar 파일 가 져 오기
    docker load < /tmp/save.tar
  • 1

  • 이미지 태그
    docker tag daa11948e23d load:tag
  • 1

  • 3.6 export - import 와 save - load 의 차이
    내 보 낸 다음 가 져 오기 (export - import) 의 미 러 는 모든 역 사 를 잃 어 버 리 고 저장 한 다음 에 불 러 오기 (save - load) 의 미 러 는 역사 와 층 (layer) 을 잃 어 버 리 지 않 습 니 다.내 보 낸 다음 가 져 오 는 방식 을 사용 하면 이전 층 (layer) 으로 돌아 갈 수 없 으 며, 저장 한 다음 불 러 오 는 방식 으로 전체 미 러 를 지속 적 으로 사용 하면 층 스크롤 을 할 수 있 습 니 다.(docker tag 를 실행 하여 이전 층 을 되 돌 릴 수 있 습 니 다).
    3.7 기타 명령
     docker logs $CONTAINER_ID #  docker      ,      
        docker inspect $CONTAINER_ID #docker inspect    image container     
        docker build    path      Dockerfile     ,         image
        docker build -t repo[:tag]   ,    repo    tag
        docker build - <       dockerfile    ,docker stdin      ,         image
        docker port              container     ,   docker ps      

    약간의 사용 기교
    docker 파일 저장 디 렉 터 리
    Docker 는 실제로 모든 것 을 / var / lib / docker 경로 아래 에 두 었 습 니 다.[root@localhost docker]# ls -F
    containers/  devicemapper/  execdriver/  graph/  init/  linkgraph.db  repositories-devicemapper  volumes/

    containers 디 렉 터 리 는 당연히 용기 (container) 를 저장 하 는 것 입 니 다. graph 디 렉 터 리 는 미 러 를 저장 하고 파일 층 (file system layer) 은 graph / imageid / layer 경로 에 저 장 됩 니 다. 그러면 파일 층 에 어떤 물건 이 있 는 지 볼 수 있 습 니 다. 이러한 등급 구 조 를 이용 하여 파일 층 이 어떻게 한 층 한 층 씩 중첩 되 는 지 알 수 있 습 니 다.
     
     

    좋은 웹페이지 즐겨찾기