docker常用命令

Manual

镜像相关

创建镜像

    docker build -t <docker file name> .

查询镜像

    # 查询所有镜像
    docker images
    # 查询所有没有名字的镜像的ImageId
    docker images | grep none | awk '{print $3}'

删除镜像

    # 删除指定镜像
    docker rmi <image name>
    # 删除是none的镜像
    docker rmi $(docker images | grep none | awk '{print $3}')

容器相关

启动容器

    # -d 为后台 -i 为交互 -t 为产生中断 -p 为端口映射 -v 为路径映射
    # 如果包含有CMD,则覆盖DOCKER FILE中的CMD
    docker run -d -p <宿主机port>:<容器port> -v <宿主机路径>:<容器路径> [镜像名] <CMD>

查询容器

    docker ps -a

删除容器

    docker rm $(docker ps -a -f name=你要删的玩意 -q)
    # 删除退出了的container
    docker rm $(docker ps -a -f status=exited -q)

进入容器

    # 进入容器的常规办法
    docker exec -it 容器名 bash
    # 当然也有可能有的容器没带bash
    docker attach 容器名

查询容器日志

    # 往往用于查询为啥起不起来
    docker logs 容器名

查询容器的参数

    docker inspect 容器名

DockerFile

DockerFile Manual

常用的几个命令

ADD && COPY

将内容从外部拷贝到容器内部

    COPY /a/b/c /a/b/c

RUN

在镜像生成时执行bash命令

    RUN echo 'money money money'

ENTRYPOINT

容器启动时的真正执行的入口

ENTRYPOINT has two forms:

The exec form, which is the preferred form:

ENTRYPOINT [“executable”, “param1”, “param2”]
The shell form:

ENTRYPOINT command param1 param2

CMD

默认的容器启动执行命令
会被覆盖,只有最后一个会生效

The CMD instruction has three forms:

  • CMD [“executable”,”param1”,”param2”] (exec form, this is the preferred form)
  • CMD [“param1”,”param2”] (as default parameters to ENTRYPOINT)
  • CMD command param1 param2 (shell form)


本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!