【docker】docker常见命令

文章目录

  • [一. docker镜像](#一. docker镜像)
  • [二. docker容器](#二. docker容器)
  • [三. 文件与卷](#三. 文件与卷)
  • [四. docker compose](#四. docker compose)

一. docker镜像

shell 复制代码
# 1. 从远程镜像仓库拉取镜像
docker image pull ubuntu:latest


# 2. 列出本地的镜像
docker image ls
# 解释:显示本地 Docker 主机上存储的镜像列表,可以添加 --digests 参数查看镜像的 SHA256 签名。

# 3. 查看镜像的详细信息
docker image inspect ubuntu:latest
# 解释:展示指定的 Ubuntu 镜像的详细信息,包括镜像层数据和元数据等。

# 4. 删除镜像
docker image rm my_custom_image:v1
# 解释:删除名为 my_custom_image:v1 的镜像,但要确保没有与之关联的正在运行或已停止的容器,否则无法删除。

导出导入镜像

shell 复制代码
# 5. 导出镜像
# - `docker save -o <输出文件名>.tar <镜像名称>:<标签>`。
docker save -o nl2sql-image.tar nl2sql:1.0.0


# 6. 引入本地镜像
docker load -i myimage.tar

二. docker容器

shell 复制代码
# 1.1.  启动容器
docker container run --name nltosql  -it -d -p host-port:container-port centos:centos8 bash

-it:打开输入输出
-d:以分离模式(detached mode)运行容器,即在后台运行容器,容器启动后不会直接将容器的输出显示在当前终端上。


# 1.2. 启动容器并挂载卷
docker run -it --name nltosql -p 9002:9002 \
-v  宿主机目录:容器目录 \
nltosql-image bash 



#2.  进入容器并开启终端
docker container exec -it container-name  bash




# 3. docker 运维
docker stop  <container_id>
docker start  <container_id>
docker restart  <container_id>
docker container rm  <container_id>
- 会删除停止运行的容器。可以通过容器名称或者ID来指定要删除的容器

docker container prune 
删除所有停止的容器



# 4. docker容器运行细节
docker inspect  <container_id>

网络信息(对网络执行时)
- 网络的具体配置细节,如网络模式、IP地址范围、子网掩码、网关等,还包括连接到该网络的容器信息以及网络的创建和更新时间等相关元数据,这对于理解和管理Docker网络架构、排查网络连接问题非常有帮助。



#  5. 修改镜像名字
docker tag <旧镜像名称>:<旧标签> <新镜像名称>:<新标签>
docker tag centos8-langchain:latest  nl2sql:1.0.0


# 6. 容器保存为镜像
docker commit nl2sql nl2sql:1.0.0

三. 文件与卷

shell 复制代码
# 1. 复制文件到容器
docker cp /Users/lianggao/Downloads/langchain-nltosql langchain-nltosql:/root/langchain-docker-env



# 2. 复制数据到卷
docker run --rm --volumes-from langchain-nltosql \
 -v langchain-python-env:/backup cp -r /root/langchain-env /backup



# 3. 创建卷:
 docker volume create --driver local \
--opt type=none \
--opt device=/Users/lianggao/Downloads/langchain-nltosql \
--opt o=bind \
nltosql-volume

四. docker compose

shell 复制代码
# docker-compose up
docker-compose up -f custom-compose.yml  # 使用 custom-compose.yml 文件部署应用

# docker-compose stop
docker-compose stop

# docker-compose rm
# 它会删除容器和网络,但是不会删除卷和镜像。
docker-compose rm

# docker-compose restart
# 如果用户在停止该应用后对其进行了变更,那么变更的内容不会反映在重启后的应用中,这时需要重新部署应用使变更生效。
docker-compose restart

# docker-compose ps:列出Compose应用中的各个容器
docker-compose ps

# docker-compose down
# 会停止并删除运行中的Compose应用。它会删除容器和网络,但是不会删除卷和镜像。
docker-compose down
相关推荐
乘云数字DATABUFF2 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
Patrick_Wilson3 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy3 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭3 天前
运行你的第一个Docker容器
后端·docker·容器
荣--4 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森4 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
宋均浩4 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
Avan_菜菜5 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
程序员老赵5 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1115 天前
LM Studio Docker 部署——本地大模型一键启动
docker