理解docker命令

基础命令

帮助命令

docker --help(帮助命令)

用于获取某个命令的帮助信息

bash 复制代码
#命令帮助
docker 命令 --help

小技巧

换行符 '\'

使用命令换符,可以让繁杂命令变得有条理

bash 复制代码
#命令换行,使用换行符 \
docker ... \
        ... \

镜像命令

docker pull(拉取镜像)

对于常用镜像可以从官方镜像仓库获取,pull命令拉取到本地镜像仓库

bash 复制代码
docker pull 镜像名或者镜像名:tag

#注意:如果pull后不指定镜像版本(或叫标签),直接使用镜像名=镜像名:latest,也就是下载最新的-英[ˈleɪtɪst]:最新的
docker pull 镜像名:latest

docker images(查看镜像)

查看镜像,镜像的英文image,其复数形式images,所以有

bash 复制代码
#镜像查看
docker images

docker rmi(删除镜像)

那么镜像删除呢?镜像英文image,所以 'rm' +'i'

bash 复制代码
#镜像删除
docker rmi 镜像名或者镜像id

docker tag(修改镜像名)

如果要**修改镜像名(或者叫标签名),**使用tag

bash 复制代码
docker tag 镜像名:tag 新镜像名和tag

docker tag 镜像id 新镜像名和tag

docker save(镜像保存成压缩包)

镜像保存成tar压缩包格式,便于文件传输和使用

bash 复制代码
docker save -o 文件名.tar 镜像名或者镜像id

docker load (镜像加载)

对于tar压缩包格式的镜像,如果想要加载,需使用此指令

bash 复制代码
docker load -i 压缩包名.tar

容器命令

docker run(运行容器)

docker容器运行,自然而然想到docker run。那么run的是什么?得到什么呢?如何记忆

运行镜像,得到镜像运行后对应的容器,其相当于执行了两步操作:将镜像放入容器中(docker create),然后将容器启动,使之变成运行时容器(docker start)

bash 复制代码
#注意:镜像名是镜像名:版本,直接使用镜像名=镜像名:latest
docker -run 镜像名或者镜像id

但是还不够,我们需要给容器命名,所以有--name=容器名

bash 复制代码
docker run --name=容器名 镜像名或者镜像id

容器命名了,还需要让容器在后台启动,所以有了-d

bash 复制代码
docker run --name=容器名 -d 镜像名或者镜像id

如果主机重启了,你会发现容器不会重新运行,想开机自启动,所以有--restart=always

bash 复制代码
docker run --name=容器名 -d --restart=always 镜像名或者镜像id

容器的私有网络如果想通过主机访问,那么需要主机与容器端口映射, -p 主机端口:容器端口

bash 复制代码
docker run --name=容器名 -d --restart=always -p 主机端口:容器端口 镜像名或者镜像id

**目录挂载,**是为了解决docker重启后,之前容器运行的配置或者数据丢失,所以要将主机目录与容器目录做映射,使用 -v参数,注意需要确保主机目录存在,否则挂载不生效

bash 复制代码
#总结:--name 容器命名,-d 后台启动,--restart 开机自启动,-p 端口映射, -v 目录映射(多个映射使用多个-v)
docker run --name=容器名 -d --restart=always -p 主机端口:容器端口 -v 主机目录:容器目录 镜像名或者镜像id

docker rm(删除容器)

容器删除直接记remove缩写rm

bash 复制代码
#容器删除,针对已经停止的容器
docker rm 容器名或者容器id

docker ps(查看容器)

查看容器,ps是process status,是在Linux系统中是常用的进程管理命令,这里docker ps与之异曲同工

bash 复制代码
#正在运行的容器查看
docker ps

#如果要看所有的容器,比如还能看停止的容器
docker ps -a

docker start/stop/restart(启动/停止/重启容器)

**启动/停止/重启容器,**自然而然想到start/stop/restart

bash 复制代码
#启动容器
docker start容器名或者容器id

#停止容器
docker stop 容器名或者容器id

#重启容器
docker restart 容器名或者容器id

docker update(更新容器)

容器启动后,如果想要更新运行参数,可以使用update命令

bash 复制代码
docker update 容器名或者容器id 需要追加的参数

docker exec(进入容器)

-i选项代表使用交互方式,-t代表打开一个终端,/bin/bash作用是进入后启动bash命令支持

bash 复制代码
docker exec -it 容器名或容器id /bin/bash

docker commit(容器内容修改)

进入到容器后,如果想修改其内容,并重新打成新的镜像

bash 复制代码
docker commit 镜像名或者镜像id 新镜像名和tag

#参数-a author缩写,-m message缩写
docker commit -a "作者" -m "描述" 镜像名或者镜像id 新镜像名和tag

docker logs(查看容器日志)

有时需要排查容器运行的问题,可以使用logs命令

bash 复制代码
docker logs 容器名或者容器id

docker cp (主机与容器文件拷贝)

bash 复制代码
#从容器拷贝到主机
docker cp 容器id:容器文件或目录 主机文件或目录

#从主机拷贝到容器
docker cp 主机文件目录 容器id:容器文件或目录

远程操作

镜像命令

docker login(登录到docker镜像仓库)

bash 复制代码
docker login -u "用户名" -p "密码" 远程镜像仓库地址(不写默认官方)

docker logout(退出登录)

bash 复制代码
docker logout

docker push(推送镜像到远程仓库)

bash 复制代码
docker push 镜像名或镜像id

待续。。。

相关推荐
SeaDhdhdhdhdh6 小时前
MCP Server 搭建与使用指南
java·ai·agent·mcp
奇特認7 小时前
kubernetes 环境部署
云原生·容器·kubernetes
YH55269847 小时前
GPT‑5.6 Sol 原本支持 1M 上下文,Codex 现已放开此前限制,如何看待这次调整?
java·jvm·人工智能·gpt·算法·chatgpt
AI_小站8 小时前
刚面完百度的 Agent 开发岗,我才发现:世界就是个巨大的草台班子
java·开发语言·人工智能·spring·百度·langchain
许彰午8 小时前
03-三种开发模式
java·架构
涟漪海洋8 小时前
创建最新的JDK25镜像,非root环境启动
java
Rain的Java大神之路9 小时前
短信接口被狂刷怎么处理
java·运维·后端·web安全·面试·架构·xss
孙克旭_9 小时前
Docker 镜像构建|Vue+SpringBoot+Go 多语言项目 Dockerfile 案例
linux·运维·vue.js·spring boot·docker·dockerfile
2602_9599609210 小时前
谢飞机面试大厂:Spring Boot、JVM、Redis、Kafka、微服务与音视频搜索场景求生实录
java·jvm·spring boot·redis·面试题
Zane19941210 小时前
CAS 与原子类:Java 如何实现无锁编程
java·开发语言