Docker入门

Docker

是一个快速交付应用,运行应用的技术

一.作用

  1. 解决大型项目依赖关系复杂,不同组件依赖的兼容性问题

    • Docker允许开发中将应用、依赖、函数库、配置一起打包,形成可移植镜像

    • Docker应用运行在容器中,使用沙箱机制,相互隔离

      )

  2. 解决开发、测试、生产环境有差异的问题

    • Docker将用户程序与所需要调用的系统函数库一起打包

      • Docker运行到不同操作系统时,直接基于打包的库函数,借助于操作系统的Linux内核来运行

二.Docker与虚拟机

三.镜像和容器

  • 镜像(lmage):Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起,称为镜像。
  • 容器(Container):镜像中的应用程序运行后形成的进程就是容器,只是Docker会给容器做隔离,对外不可见。

DockerHub是一个镜像托管的服务器,类似的还有阿里云镜像服务,统称为
DockerRegistry

四.Docker架构

Docker是一个CS架构的程序,由两部分组成:

  • 服务端(server):Docker守护进程,负责处理Docker指令,管理镜像、容器等
  • 客户端(client):通过命令或RestAPIDocker服务端发送指令。可以在本地或远程向服务端发送指令。

五.Docker 基本操作

注意:

shell 复制代码
#查看帮助命令
docker -help
#查看具体命令的帮助
docker images --help

1.具体的镜像拉取操作

1.1DockerHub(需要魔法):https://hub.docker.com/
1.2搜索自己需要的镜像
1.3在XSherll上通过命令拉取镜像
1.4查看拉起到的镜像

2.利用docker savenginx镜像导出磁盘,然后再通过load加载回来

2.1

shell 复制代码
sudo docker save -o nginx.tar nginx:latest
#查看文件
ll

2.2

shell 复制代码
#删除镜像nginx
sudo docker rmi nginx:latest
#通过load加载回来nginx
sudo docker load -i nginx.tar

六.容器相关命令

shell 复制代码
docker logs #查看容器运行日志

docker ps #查看所有运行的容器及状态

docker exec #进入容器执行命令

docker rm #删除指定容器

案例1:

案例2:

七.数据卷

数据卷的作用:

【将容器与数据分离,解耦合,方便操作容器内数据,保证数据安全】

shell 复制代码
sudo docker volume create 卷名  #创建数据卷
sudo docker volume ls    #查看存在的数据卷
sudo docker volume inspect 卷名 #查看指定数据卷的详细信息
sudo docker volume rm  卷名  #删除指定数据卷
sudo docker volume prune  #删除未使用的数据卷
相关推荐
golang学习记9 小时前
Go 项目使用docker compose的正确方式
开发语言·docker·golang
张忠琳14 小时前
【NPU】Ascend Device Plugin —Part 6 K8s客户端 + 重复检测模块 超深度源码分析之二
云原生·容器·kubernetes·npu·docker device
JLWcai2025100914 小时前
核电打磨 “安全卫士”|金利威不锈钢专用树脂砂轮,合规高效双在线
mysql·mongodb·eureka·sqlite·rabbitmq·nosql·memcached
雨声不在14 小时前
私有 Docker Registry 排障实录:两个隐蔽的坑
docker·容器
云川之下14 小时前
【k8s】SR‑IOV‑Network‑Operator 详解
云原生·容器·kubernetes
读书读傻了哟15 小时前
解决docker拉取镜像报错failed to resolve reference “docker.io/xxx“...i/o timeout问题
运维·docker·容器
Ai拆代码的曹操17 小时前
DaemonSet OnDelete 策略详解:为何 rollout restart 无效及正确迁移方案
docker·容器·kubernetes
名字还没想好☜17 小时前
Kubernetes NetworkPolicy 实战:默认全通的坑与用标签做零信任隔离
运维·云原生·容器·kubernetes·networkpolicy
瑞码空间17 小时前
Web应用的多端部署之道:浏览器 · Electron · Docker
前端·docker·electron·浏览器·web
badhope18 小时前
Docker镜像从2GB压到80MB——我被运维追着打了三天才学会的容器瘦身术
docker