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".....]

相关推荐
麦兜*42 分钟前
Spring Boot 企业级动态权限全栈深度解决方案,设计思路,代码分析
java·spring boot·后端·spring·spring cloud·性能优化·springcloud
B1nna2 小时前
Docker学习
学习·docker·容器
ruan1145142 小时前
MySQL4种隔离级别
java·开发语言·mysql
缘友一世2 小时前
网安系列【15】之Docker未授权访问漏洞
docker·容器
Hellyc6 小时前
基于模板设计模式开发优惠券推送功能以及对过期优惠卷进行定时清理
java·数据库·设计模式·rocketmq
lifallen6 小时前
Paimon LSM Tree Compaction 策略
java·大数据·数据结构·数据库·算法·lsm-tree
hdsoft_huge6 小时前
SpringBoot 与 JPA 整合全解析:架构优势、应用场景、集成指南与最佳实践
java·spring boot·架构
百锦再7 小时前
详细解析 .NET 依赖注入的三种生命周期模式
java·开发语言·.net·di·注入·模式·依赖
程序员的世界你不懂7 小时前
基于Java+Maven+Testng+Selenium+Log4j+Allure+Jenkins搭建一个WebUI自动化框架(2)对框架加入业务逻辑层
java·selenium·maven
有没有没有重复的名字8 小时前
线程安全的单例模式与读者写者问题
java·开发语言·单例模式