Docker 服务

1.  Docker服务

作为一名后端攻城狮,对“服务”这个概念一定不陌生。比如,我们做一个会员系统,它可能会需要数据库、缓存、消息队列,这些都是中间件服务,除此以外可能还需要依赖其它的Dubbo服务。

在Docker中,服务就是用于生产环境的容器(“containers in production”)。我们可以这样来理解这句话,当我们运行某个镜像时,其实就产生了一个镜像实例,这个实例我们把它叫做容器,接下来我们对它做个升级,比如一些配置负载均衡,配置域名解析映射等,最终它以web服务的形式运行,那么这个升级版的容器就是Docker服务。可以设想一下开发一个Java应用程序是怎样的过程,首先建一个工程,然后编写代码,打成jar包,在内网运行,配置nginx,配置告警及监控,经过这一系列操作后,客户端才能通过公网访问到这个服务。(PS:类比Java的话,镜像就是类,容器就是对象,服务就是一个成型的APP产品,或者叫服务)

一个服务只运行一个映像,但是它将镜像运行的方式进行了编码,比如应该使用什么端口,应该运行多少个容器副本,以便服务具有所需的能力,等等。可以通过改变运行该软件的容器实例的数量来对服务进行扩容,从而为流程中的服务分配更多的计算资源。

幸运的是,使用Docker平台很容易定义、运行和扩容服务。只需要写一个docker-compose.yml文件即可。

2.  第一个docker-compose.yml文件

创建一个文件,文件命名为docker-compose.yml,将下列内容粘贴到文件中,保存

一个docker-compose.yml文件是一个YAML文件,它定义了Docker容器在生产环境中的行为。

这个docker-compose.yml文件告诉Docker要做以下事情:

  • 从注册中心上pull(拉取)镜像
  • 以web服务的形式运行该映像的5个实例,限制每个实例最多只能使用CPU单个内核时间的10%(也可以是“1.5”,表示每个实例只能使用1.5个内核)和50MB内存
  • 如果一个容器失败,立即重启它
  • 将主机上的4000端口映射到web的80端口
  • 指示web容器通过叫webnet的负载均衡网络共享80端口
  • 用默认设置定义webnet网络

3.  运行新的负载均衡的APP

首先,运行

接下来,给APP起个名字,比如叫getstartedlab

我们的单个服务堆栈在一台主机上运行了5个容器实例,让我们来看一看

除了“docker service ls”,我们还可以通过“docker stack services”来查看

还可以通过修改docker-compose.yml来动态的扩展app,修改为后需要再执行一次

完整的演示

4.  备忘单

 

转载于:https://www.cnblogs.com/cjsblog/p/10775727.html

在 Linux 上,Docker 服务通常是通过 Docker Daemon 来管理的,这是一个后台守护进程,负责管理和运行容器。启动 Docker 服务通常涉及到以下几个步骤: 1. **检查Docker是否安装**:确保你的系统已经安装了 Docker,可以在命令行输入 `docker --version` 检查版本信息。如果没有安装,访问 https://docs.docker.com/engine/install/ 获取适合你系统的安装指南。 2. **添加码头工人账户(可选)**:对于一些发行版,需要为非-root用户添加执行权限,例如使用 `sudo usermod -aG docker $USER` 其中 `$USER` 替换为你需要操作的用户。 3. **启动Docker服务**:如果是 Debian 或 Ubuntu 发行版,可以使用 `sudo systemctl start docker` 开始服务。如果你想要让 Docker 在系统重启后自动启动,使用 `sudo systemctl enable docker` 设置开机启动。 4. **验证Docker是否运行**:执行 `sudo systemctl status docker`,你应该能看到 Docker 服务处于 "active (running)" 状态,表示 Docker 已经成功启动。 5. **登录Dockerhub(可选)**:首次使用 Docker 时,你可能需要登录 Docker Hub 注册账号,并设置镜像仓库,这可以通过 `docker login` 命令完成。 6. **测试基本功能**:尝试创建一个新的容器,比如 `docker run hello-world` 来验证 Docker 是否能正常工作。 如果你在安装或启动过程中遇到问题,查阅 Docker 的官方文档或搜索常见错误代码是解决问题的好方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值