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

94

95    #MAINTAINER

96    MAINTAINER ShiJia Zhang

97

98    #ADD

99    ADD pcre-8.37.tar.gz    /usr/local/src

100    ADD nginx-1.9.3.tar.gz  /usr/local/src

101

102    #RUN

103    RUN yum -y install wget gcc gcc-c++ make openssl-devel

104    RUN useradd -s /sbin/nologin -M www

105

106    #WORKDIR

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

108

109    #RUN

110    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

111

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

113

114    ENV PATH=/usr/local/nginx/sbin:$PATH

115    EXPOSE 80

116

117    CMD ["nginx"]

118 运行Dockerfile

119    docker build -t nginx-file:v1 /opt/docker-file/nginx/

120 其他命令

121    docker run -it --rm stree --cpu 1

122    --rm    容器运行完即可删除

123    --cpu    指定分多少颗CPU

你可能感兴趣的:(Docker 命令集)