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
原文地址:https://www.cnblogs.com/yaoxing92/p/7985996.html