docker命令

Docker 命令集
    尋找網絡鏡像命令
        docker search centos
            
            [root@test ~]# docker search centos
                        名字                                             描述                                             下載次數  是否官方   是不是Dockerfile構建的 
            INDEX       NAME                                             DESCRIPTION                                     STARS     OFFICIAL   AUTOMAT
            docker.io   docker.io/centos                                 The official build of CentOS.                   3301      [OK]       

    下載鏡像
        docker pull centos
    查看鏡像
        docker images
    刪除鏡像
        docker rmi
    
容器命令
    啓動容器
        docker run --name -h hostname
    啓動容器2
        docker start CONTAINER ID
    中止容器
        docker stop CONTAINER ID
    查看容器
        docker ps -a 
    進入容器
        docker exec | docker attach
    刪除容器
        docker rm

進入後臺運行容器
    docker attach 68e5c66ee5c9        退出自動中止運行容器

進入容器
    docker run --name mydocker -it docker.io/centos /bin/bash
        -d        進入後臺運行
        --run    運行
        --name 指定名字
        -i        輸入終端打開
        -t        開一個僞終端
        
進入容器不退出
1、進入容器
    docker run --name mydocker -it docker.io/centos /bin/bash
2、退出
3、啓動容器
    docker ps -a查詢ID號
    docker start ID號
4、獲取Pid號
    docker inspect --format "{{.State.Pid}}" 68e5c66ee5c9
5、進入容器而不退出
    nsenter --target 19205 --mount --uts --ipc --net --pid    退出不中止運行容器
    若是沒有這個命令,須要安裝util-linux包    nsenter

6、懶人寫法
    nsenter --target `docker inspect --format "{{.State.Pid}}" ID` --mount --uts --ipc --net --pid    
docker 網絡訪問
    docker run -P 
        -P    隨機映射
        -p    hostport:containerPort
        -p    ip:hostPort:containerPort
        -p  ip::containerPort
        -p  hostPort:containerPort
        -p  hostPort:containerPort
        
數據卷管理
    docker 
        -v /data
        -v /src:/dsrc
        -v /src:/src:ro 

容器的製做
    docker commit -m "my nginx" f443e801f545 shijia/my-nginx:v1
Docker file 的方式構建docker鏡像
    
    FROM         他的媽媽是誰(基礎鏡像)
    MAINTAINER    告訴被人,你創造了他(維護者信息)
    RUN            你想讓他幹啥(把命令前面加上RUN)
    ADD         至關於cp命令(COPY文件,會自動解壓)
    WORKDIR        至關於cd命令(當前工做目錄)
    VOLUME        給我一個放行李的地方(目錄掛載)
    EXPOSE        我要打開的門是啥(端口)
    RUN            奔跑吧,兄弟!(進程要一直運行下去)
    
    Docker 案例
    vim /opt/docker-file/nginx/Dockerfile
    
    # This is My first Dockerfile
    # Version 1.0
    # Author : Shijia Zhang

    #Base images
    FROM centos

    #MAINTAINER
    MAINTAINER ShiJia Zhang

    #ADD
    ADD pcre-8.37.tar.gz    /usr/local/src
    ADD nginx-1.9.3.tar.gz  /usr/local/src

    #RUN
    RUN yum -y install wget gcc gcc-c++ make openssl-devel
    RUN useradd -s /sbin/nologin -M www

    #WORKDIR
    WORKDIR /usr/local/src/nginx-1.9.3

    #RUN
    RUN ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-pcre=/usr/local/src/pcre-8.37 && make && make install

    RUN echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf

    ENV PATH=/usr/local/nginx/sbin:$PATH
    EXPOSE 80

    CMD ["nginx"]
運行Dockerfile
    docker build -t nginx-file:v1 /opt/docker-file/nginx/
其餘命令
    docker run -it --rm stree --cpu 1
    --rm    容器運行完便可刪除
    --cpu    指定分多少顆CPU
相關文章
相關標籤/搜索