docker常用命令

镜像管理:

查看镜像:docker image ls / docker images

检索镜像:docker search [image] 例:docker search nginx

拉取镜像:docker pull [image]

上传镜像:docker push [image] 例:docker push geekhour/hello-docker:latest

保存镜像:docker save [image] -o FILE / docker save [image] > FILE

例:docker save geekhour/hello-docker:latest > hello-docker.tar

导入镜像:docker load -i FILE 例: docker load -i hello-docker.tar

查看镜像历史:docker history [image]

删除镜像:docker rmi [image] / docker image rm [image]

删除不再使用的镜像:docker image prune

将文件系统导入为镜像:docker import [URL/FILE]

从容器创建镜像:docker commit [container] [image]

容器管理:

创建容器(仅创建,不运行):docker create [image]

创建并运行容器:docker run [image]

启动容器:docker start [container]

停止容器:docker stop [container]

重启容器:docker restart [container]

列出正在运行的容器:docker ps / docker container ls

列出所有容器:docker ps -a / docker container ls -a

以交互方式进入容器:docker exec -it [container] bash / docker attach [container]

导出容器:docker export [container] -o FILE / docker export [container] > FILE

导入容器快照:docker import FILE

查看容器日志:docker logs [container]

删除容器:docker rm [container] / docker container rm [container]

查看容器端口映射:docker port [container]

显示容器内进程:docker top [container]

复制本地文件到容器内的指定路径:docker cp [FILE] [container]:{PATH}

显示容器内的变化:docker diff [container]

显示容器资源使用情况:docker stats [container]

容器运行:

语法格式:docker run [options] image [command] [arg...]

创建运行并命名容器:docker run --name [name] [image]

创建一个容器并后台运行:docker run -d [image]

创建一个容器并指定端口映射:docker run -p [hostPort]:[containerPort] [image]

创建一个容器并指定端口映射(随机分配):docker run -P [image]

创建一个容器并指定环境变量:docker run -e [key=value] [image]

创建一个容器并指定工作目录:docker run -w [PATH] [image]

创建一个容器并指定容器名称:docker run -name [name] [image]

创建一个容器并在容器中执行命令(交互模式):docker run [image] [command]

创建一个容器,并指定容器名称、后台运行、端口映射、环境变量和工作目录:

docker run -d -p [hostPort]:[containerPort] -e [key=value] -w [PATH] --name [name] [image]

使用镜像nginx:latest来启动一个容器,并在容器内执行交互模式 bash shell:

docker run -it nginx:latest /bin/bash

创建一个mysql容器,后台模式启动,主机3306端口映射到容器3306端口,主机/data目录映射到容器/data目录:

docker run -it -p 3306:3306 -v /data:/data -d mysql:latest

网络管理:

列出可用网络:docker network ls

查看网络详细信息:docker network inspect [network]

创建一个新的网络:docker network create [network]

删除一个网络:docker network rm [network]

将容器连接到网络:docker network connect [network] [container]

将容器从网络断开:docker network disconnect [network] [container]

插件管理:

列出插件:docker plugin ls

安装插件:docker plugin install [plugin]

启用插件:docker plugin enable [plugin]

禁用插件:docker plugin disable [plugin]

卸载插件:docker plugin rm [plugin]

数据卷管理:

创建一个数据卷:docker volumn create [volumn]

查看数据卷:docker volumn ls

查看数据卷详细信息:docker volumn inspect [volumn]

删除数据卷:docker volumn rm [volumn]

删除所有未使用的数据卷:docker volumn prune

日常操作:

查看docker系统信息:docker info

查看docker版本:docker version

查看docker帮助文档:docker --help

查看docker命令帮助:docker [command] --help

登录/退出dockerHub:docker login/logout

常用Dockerfile指令:

指定基础镜像,必须为Dockerfile的第一条指令:FROM [base_image]

用于将文件复制到镜像中,源可以是URL或者本地文件,也可以是一个压缩文件(自动解压):

ADD

用于将文件拷贝到镜像中,源只能是本地文件:

COPY [--chown=<user>:<group>] [源路径] [目标路径]

用于指定工作目录,可以使用多个WORKDIR指令,如果使用相对路径,则是相对于上一条WORKDIR指令所指定的目录:

WORKDIR [PATH]

用于设置环境变量:

ENV <key> <value> / ENV <key1>=<value1> <key2>=<value2> ....

用于指定默认的容器主进程,每个Dockerfile中只能有一条CMD指令,如果有多条,则只有最后一条会生效:

CMD <命令> / CMD <"可执行文件","参数1","参数2"....>

用于定义匿名卷(持久化目录):VOLUMN <路径> / VOLUMN ["路径1","路径2".....]

相关推荐
武子康25 分钟前
大数据-258 离线数仓 - Griffin架构 配置安装 Livy 架构设计 解压配置 Hadoop Hive
java·大数据·数据仓库·hive·hadoop·架构
豪宇刘1 小时前
MyBatis的面试题以及详细解答二
java·servlet·tomcat
秋恬意1 小时前
Mybatis能执行一对一、一对多的关联查询吗?都有哪些实现方式,以及它们之间的区别
java·数据库·mybatis
FF在路上2 小时前
Knife4j调试实体类传参扁平化模式修改:default-flat-param-object: true
java·开发语言
真的很上进2 小时前
如何借助 Babel+TS+ESLint 构建现代 JS 工程环境?
java·前端·javascript·css·react.js·vue·html
VinciYan3 小时前
基于Jenkins+Docker的自动化部署实践——整合Git与Python脚本实现远程部署
python·ubuntu·docker·自动化·jenkins·.net·运维开发
众拾达人3 小时前
Android自动化测试实战 Java篇 主流工具 框架 脚本
android·java·开发语言
皓木.3 小时前
Mybatis-Plus
java·开发语言
不良人天码星3 小时前
lombok插件不生效
java·开发语言·intellij-idea
守护者1703 小时前
JAVA学习-练习试用Java实现“使用Arrays.toString方法将数组转换为字符串并打印出来”
java·学习