当前位置: 首页 > news >正文

2025最新版Docker讲解/面试/命令/容器化技术

弱小和无知不是生存的障碍,傲慢才是!

Docker是什么

docker是一款由Go语言开发基于操作系统内核提供轻量虚拟化,在Docker安装的软件并不是真正安装在宿主机操作系统中,而是安装在容器的文件系统中(隔离环境),宿主机看不到这些安装,容器之间互不影响。

镜像

镜像搜索 

docker search 

我在使用这个命令时,总是出现报错,也不是镜像源问题。但在命令上加上镜像就行了。

docker search 镜像加速地址/[imageName]

镜像下载

docker pull 镜像名:版本

镜像列表

docker images [-a]

镜像删除

docker rmi 镜像名:版本/镜像ID


容器操作

容器运行[创建+启动]

docker run [-d --name -p ]镜像名/镜像ID

默认同步启动后,-d[detach v.分离] 可后台启动,--name 后可指定容器名,-p进行宿主机与容器内部端口映射

容器启动[已存在容器]

docke start 容器名/ID

默认异步启动后 

容器状态

docker stats 容器名/ID

容器列表

docker ps 

默认查看运行的容器,-a 查看全部容器

容器日志

docker logs 容器名/ID

容器停止 

docker stop 容器名/ID [不可用镜像名]

容器重启

docker restart 容器名/ID

容器删除

docker rm 容器名/ID

-f强制删除

容器进入

docker exec -it  容器名/ID  /bin/bash

-it 交互式,/bin/bash 命令行操作。进入容器单独文件系统

分享

 

容器提交

docker commit  [-m 信息] 容器名/ID 镜像名:版本

-m 增加提交信息,提交到本机镜像中

镜像保存

docker save -o 压缩包名.tar 镜像名:ID/ID

镜像加载

docker load -i 压缩包路径

自动将压缩包转成docker镜像


以下推送,本人无法实现。请教.... 

登录

docker login

命名

docker tag 镜像名:版本/ID dockerhub用户名/自定义镜像名:版本

产生一个新的镜像,ID与之前镜像相同

推送

docker push 镜像名:版本

拉取

docker pull 用户名/镜像名:版本

数据共享

为了避免进入容器内部文件系统的复杂结构,我们在创建容器的时候可以使用目录挂载,让宿主机与容器之间共享数据。

目录挂载

以宿主机内容为准

docker run [-v 宿主机路径(/根路径开始)/容器路径]  --name 自定义容器名 镜像名:版本/ID

卷映射

docker run [-v 宿主机路径/容器路径]  --name 自定义容器名 镜像名:版本/ID

默认存在在宿主机/var/lib/docker/volumes/<volume-name>

容器通信

一般容器想要通信需要连接到宿主机ip,然后通过宿主机暴露的端口,在映射到别的容器。效率不高。

在我们docker内部有一个docker0网络,相当于一个局域网,每个容器都有自己的ip,我们可以直接通过他们的ip访问,但由于一些开关机会导致容器发生ip变化,所以这不是最佳选择。

我们可以自定义网络,通过容器名作为我们的ip

自定义网络

docker network create 网络名

然后在启动容器时

docker run -d   --name 自定义容器名    --newwork 网络名    镜像:版本/ID 

docker compose批量启动

http://www.dtcms.com/a/273995.html

相关文章:

  • 当信任上链解码区块链溯源系统开发逻辑与产业变革
  • 【第四节】ubuntu server安装docker
  • 专题:2025云计算与AI技术研究趋势报告|附200+份报告PDF、原数据表汇总下载
  • 探索飞算 JavaAI 进阶:解锁高效Java开发的新维度
  • VLM-R1 + GRPO 算法完整复现全过程日志
  • 在HTML中CSS三种使用方式
  • 飞算JavaAI:重塑Java开发的“人机协同“新模式
  • vue3+node.js+mysql写接口(二)
  • 优学教育实战03跟进管理
  • tensor
  • axios 与 fetch 的区别
  • C++前缀和与差分的深度探索
  • “SRP模型+”多技术融合在生态环境脆弱性评价模型构建、时空格局演变分析与RSEI 指数的生态质量评价及拓展应用
  • K8s Service 终极解析:源码、性能、故障排查全攻略
  • 【VScode | 快捷键】全局搜索快捷键(ctrl+shift+f)失效原因及解决方法
  • Github创建仓库并通过VS Code推送项目
  • FPGA开发一个精确反馈控制算法 实现动态调控电磁反馈,控制流过线圈的电流,产生不同大小不同方向的磁力 电路结构设计PCB版图的绘制
  • 小白学Python,标准库篇——随机库、正则表达式库
  • Rail开发日志_5
  • 物联网与互联网融合生态
  • 鸿蒙 Secure Boot 全流程解析:从 BootROM 到内核签名验证的实战指南
  • 使用Selenium自动化获取抖音创作者平台视频数据
  • 深入解析:UPF/PGW-U如何通过PPP/L2TP隧道实现终端PAP/CHAP接入
  • [python]在drf中使用drf_spectacular
  • FPGA通信设计十问
  • 液冷智算数据中心崛起,AI算力联动PC Farm与云智算开拓新蓝海(二)
  • MyBatis02-mybatis-config.xml配置文件讲解
  • Django--02模型和管理站点
  • 链表算法之【判断链表中是否有环】
  • 从零实现一个GPT 【React + Express】--- 【3】解析markdown,处理模型记忆