docker常用命令

 

帮助命令

docker version

docker info

docker --help

 

镜像命令

#列出本地镜像
docker images [OPTIONS]

-a:列出本地所有的镜像(包含中间映像层)
-q:只显示镜像id
--digests:显示镜像的摘要信息
--no-trunc:显示完整的镜像信息

#去dockerHub(https://hub.docker.com/)搜索镜像
docker search [OPTIONS] {imageName}

#拉取镜像 

docker pull {imageName}:{tag}

#删除一个镜像

docker rmi -f {imageName}

#删除多个镜像

docker rmi -f {imageName1} {imageName2}

#删除全部镜像

docker rmi -f $(docker images -qa)

docker build -f {dockerFilePath} -t {newImageName}:{tag}

docker commit -m="Comment" -a="autherName" {containerId} {namespace}/{targetImageName}:{tag}

docker push

#查看镜像历史

 docker history {imageName}

 

容器命令

#新建并启动容器
docker run [OPTIONS] {imageName或imageId} [COMMAND] [ARG...]

--name:别名

--i:以交互模式运行容器,通常与-t同时使用

--t:为容器重新分配一个伪输入终端,通常与-i同时使用

-d:后台运行容器,并返回容器id

-P:随机端口映射

-p:指定端口映射

docker run --it  -p {主机端口}:{容器端口} {imageName或imageId}

启动docker中的tomcat后,访问报错404,原因是tomcat中默认的webapps目录是空的,所需文件在webapps.dist目录下,需要重命名目录

 

#创建容器卷

docker run -it -v {localVolunmeDirectory}:{containerVolunmeDirectory} {imageName}

#创建只读的容器卷(只有宿主机能正常读写,容器只能读)

docker run -it -v {localVolunmeDirectory}:{containerVolunmeDirectory}:ro {imageName}

#列出当前所有正在运行的容器

docker ps [OPTIONS]

-a:列出当前所有正在运行以及历史上运行过的容器

-l:显示最近创建的容器

-n:显示最近n个创建的容器

-q:静默模式,只显示容器id

--no-trunc:不截断输出

#停止容器方式退出容器

exit

#不停止容器方式退出

ctrl+p+q

#启动容器

docker start {containerId或containerName}

#重启容器

docker restart {containerId或containerName}

#正常停止容器

docker stop {containerId或containerName}

#强制关闭容器

docker kill {containerId或containerName}

#删除已停止的容器

docker rm {containerId或containerName}

#强制删除容器,即使容器正在运行

docker rm  -f {containerId或containerName}

#一次性删除多个容器

docker rm -f $(docker ps -aq)

docker ps -aq | xargs docker rm

#查看容器的日志

docker logs [OPTIONS] {containerId或containerName}

-t:显示时间戳

-n:最后n行

#查看容器内运行的进程

docker top {containerId或containerName}

#查看容器内的细节

docker inspect {containerId或containerName}

#在宿主机中执行容器的命令

docker exec -it {containerId或containerName} {bashShell}

#进入容器,再执行命令,有时候执行该命令会卡住,不推荐使用

docker attach {containerId或containerName}

#拷贝容器内的文件到宿主机

docker cp {containerId或containerName}:{containerPath} {localPath}

 

DockerFile保留字指令

FORM:基础镜像

MAINTAINER:镜像维护者的姓名和邮箱

RUN:容器构建时需要运行的命令

EXPOSE:容器对外暴露的端口

WORKDIR:指定创建容器后,终端默认进入的工作目录

ENV:构建镜像过程中设置环境变量

ADD:将宿主机目录下的文件拷贝进镜像且自动处理url和解压tar压缩包

COPY:将宿主机目录下的文件拷贝进镜像,COPY src dest,COPY ["src", "dest"]

VOLUME:容器数据卷,用于保存数据和持久化

CMD:指定一个容器启动时要运行的命令,DockerFile中可以有多个CMD命令,但只有最后一个生效,CMD会被docker run之后的参数替换

ENTRYPOINT:指定一个容器启动时要运行的命令,docker run之后的命令会追加,而不是替换

ONBUILD:假设son镜像继承自father镜像且father镜像的DockerFile中有ONBUILD {bashShell},当构建son镜像的DockerFile时,会执行{bashShell}

 

posted @ 2022-03-30 18:06  飞雪飘鸿  阅读(28)  评论(0编辑  收藏  举报
https://damo.alibaba.com/ https://tianchi.aliyun.com/course?spm=5176.21206777.J_3941670930.5.87dc17c9BZNvLL