首页 > 其他分享 >Docker

Docker

时间:2024-08-31 23:14:58浏览次数:10  
标签:容器 Daemon 应用程序 镜像 Docker docker

基本原理和概念

Docker是使用Client-Server架构模式,Docker CLient和Docker Daemon之间通过Socket或者RESTful API进行通信。Docker Daemon就是服务端的守护进程,他负责管理Docker的各种资源。Docker Client负责向Docker Daemon发送请求,Docker Daemon接收到请求之后进行处理,然后将结果返回给Docker Client。这里的Docker Daemon是一个后台进程,用来接收并处理来自Docker客户端的请求,然后将结果返回给客户端。所以我们在终端中输入的各种Docker命令,实际上都是通过Docker客户端发送给Docker Daemon的,然后Docker Deamon再进行处理,最后再将结果返回给客户端,然后就可以在终端中看到执行结果了。

镜像和容器的关系就像是Java中的类和实例。

容器化containerization和Dockerfile

FROM node:18-alpine
WORKDIR /app
COPY..
RUN npm install
CMD node src/index.js
EXPOSE 3000

Dockerfile是一个文本文件,里面包含了一条条的指令,用来告诉Docker如何来构建镜像,这个镜像中包括了我们应用程序执行的所以命令,也就是我们刚刚提到的各种依赖、配置环境和运行应用程序所需要的所有内容。

在这个文件中写入构建镜像所需要的各种指令之后,Docker就会根据这个Dockerfile文件来构建一个镜像,有了镜像之后,我们就可以使用这个镜像来创建容器,然后在容器中运行应用程序。

编写好Dockerfile之后

docker bulid -t <docker_image> . # .表示当前目录
docker images
docker run <docker_image>

使用Docker Hub上的镜像

docker pull <docker_image>
docker run <docker_image>

Dockerdesktop与逻辑卷
逻辑卷可持久化容器

Docker Compose

  • 是Docker官方开源的项目,用于定义和运行多容器Docker应用程序的工具
  • 使用Yaml文件来配置应用程序的服务
  • 一条命令即可创建并启动所有服务

Docker Compose用于解决这些服务之间的关联关系,它通过一个单独的docker-compose.yaml的配置文件,来将这一组互相关联的容器组合在一起,形成一个项目

redis:
    image: redis
db:
    image: mysql
frontend:
    image: vue-app
    ports:
        - 3000:3000
    links:
        - redis
backend:
    image: springboot-app
    ......
docker compose up

标签:容器,Daemon,应用程序,镜像,Docker,docker
From: https://www.cnblogs.com/forhheart/p/18389787

相关文章

  • docker入门
    1、先说说容器吧1)容器到底是啥 简单来说,它就是个小工具,可以把你想跑的程序,库文件啊,配置文件都一起“打包”。然后,我们在任何一个计算机的节点上,都可以使用这个打好的包。有了容器,一个命令就能把你想跑的程序跑起来,做到了一次打包,就可以到处使用。 比如我们可以把整套zabbix环境(ht......
  • Docker Push Error "denied: requested access to the resource is denied": 终极解决
    预览版:终极解决方案——把库删了,再重新建一个名字一样的,然后push一般dockerlogin登录之后,sudodockerpushusername/dockername:latest就能成功push了。然后我还是有报错:xxxxxxxxxxxx:Preparingxxxxxxxxxxxx:Preparingxxxxxxxxxxxx:Preparingxxxxxxxxxxxx:Preparing......
  • docker搭建nats集群
    SupportDocker-ComposeDeploynats+nats-streaming集群方案1通过nats+nats-streaming搭建3节点nats集群,nats提供服务;2支持认证;3nats-streaming提供节点和消息持久化;启动gitclonehttps://github.com/xiliangMa/nats-cluster.gitcddocker-composedock......
  • docker 开源镜像源使用及设置
    1.编辑/etc/docker目录下的文件daemon.jsoncd/etc/dockersudovimdaemon.json修改文件daemon.json中的内容为:{"registry-mirrors":["https://dockerproxy.com","https://hub-mirror.c.163.com","https://mirr......
  • 在Ubuntu系统上使用Docker部署.NET 6程序
    基础用法1.安装Docker首先,确保你的Ubuntu系统上安装了Docker。可以通过以下命令安装Docker:sudoaptupdatesudoaptinstalldocker.io安装完成后,启动Docker并设置为开机自启:sudosystemctlstartdockersudosystemctlenabledocker 2.创建.NET6应用程序如果你......
  • [DPDK] Docker容器内安装DPDK
    Docker安装DPDK参考:容器安装DPDK。确认版本兼容性我使用的是Mellanox-5网卡。为了确认支持的DPDK版本,请先确认自己的OFED和frimware版本。查看firmware版本:$ibstatCA'mlx5_0'CAtype:MT4119Firmwareversion:16.35.3006查看OFED版本:$ofed_info-......
  • 使用docker安装mysql
    安装Docker1、Docker教程地址:https://www.runoob.com/docker/centos-docker.install.html2、安装docker命令:yuminstalldocker-io3、启动docker命令:servicedockerstart4、查看docker是否启动成功命令:ps-ef|grepdocker使用docker安装mysql1、查询mysql命令:docke......
  • [Raspberry Pi]如何利用docker執行motioneye,並利用Line Notify取得即時通知和照片?
    [Motioneye]Howtosetupmotiondetectionandsendmessage/imageforLineNotify無意間,翻了一本關於樹莓派的書籍,除了樹莓派的簡介和應用外,也包含初階和高階的Linux運作邏輯,書籍結構相當完整,也因此需要花時間細細體會其內容。其在樹莓派的應用內容,提及一款開源影像監視......
  • docker安装和使用
    docker安装:sudoaptinstallapt-transport-httpsca-certificatescurlsoftware-properties-commonsudocurl-fsSLhttps://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg|sudogpg--dearmor-o/usr/share/keyrings/docker-archive-keyring.gpgecho"deb[arch=......
  • docker镜像所使用到的COW写时复制技术是什么
    copy on write 简单来说,所有的读操作都是指向一份内存地址,共享这些数据,节省内存空间。如果有进程要对数据进行写操作,系统会检测到这个行为,将数据复制一份出来,给这个进程进行写操作。其他进程继续共享原来的没有修改的。写操作的进程指针指向新的副本。COW的基本原理......