云原生docker进阶--阿里云服务器安装dockercompose与初体验

小王Java 小王Java     2022-11-29     260

关键词:


【云原生】Docker


一、什么是Docker Compose?

docker-compose是基于docker的开源项目,托管于github上,由python实现,调用 docker服务的API负责实现对docker容器集群的快速编排,即通过一个单独的yaml文件,来定义一组相关的容器来为一个项目服务。

Docker Compose 是一个工具,命令行工具,这个工具可以通过yml文件定义多容器的docker应用,通过一条命令就可以根据yml文件的定义去创建或管理多个容器

二、Docker Compose 能用来做什么?

我们平时操作Docker,还是很原始的操作,手动操作Docker的步骤可分为

  • 找到一个系统镜像
  • 安装vm 或者一些基本的工具
  • 在vm中安装镜像
  • 执行镜像

docker-compose 是一个用来把 docker 自动化的东西

在我们的 Docker Compose 中,只需要写一个 docker-compose.yml 文件容器编排,然后通过命令去启动就可以达到自动化的操作。


三、阿里云服务器安装Docker Compose

Docker Compose 是Docker官方的开源产品,需要自行安装,DockerFile让程序在任何地方执行

下载

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 这个可能快点
curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

如果下载不下来,那么可以 去我上传的资源上去下载

下载下来之后,我们使用 Filezilla 去将我们下载下来的文件上传至服务器 /usr/local/bin 下

【云原生】Docker下载成功~进行授权

chmod +x /usr/local/bin/docker-compose

进行测试

docker-compose version

【云原生】Docker测试通过,成功安装了我们的Docker Compose~

四、初体验Docker Compose

☁️安装

官方网址

这里在官方下载的话太慢了,而且官方使用的是 Flask框架,下载到本地后,可能会起不来,所以说,我们自己来写。

创建一个python+Redis的应用,计数器的功能

创建工程目录

mkdir compose_test
cd compose_test
# 源码文件夹
mkdir src
# 存放Docker执行文件
mkdir docker

【云原生】Docker

创建app.py

在 compose_test/src 下创建 app.py 具体内容如下

from flask import Flask
from redis import Redis

app = Flask(__name__)
redis = Redis(host=redis, port=6379)

@app.route(/)
def hello():
count = redis.incr(hits)
return Hello World! I have been seen times.\\n.format(count)

if __name__ == "__main__":
app.run(host="0.0.0.0", debug=True)

创建我们的 需求文件 requirements.txt

在 compose_test/src 下创建 requirements.txt 文件,具体内容如下

flask
redis

【云原生】Docker

创建容器的Dockerfile文件

在 compose_test 下创建 Dockerfile文件,具体内容如下

FROM python:3.7

COPY src/ /opt/src
WORKDIR /opt/src

RUN pip install -r requirements.txt
CMD ["python", "app.py"]

Dockerfile介绍

从远程仓库拉取python镜像 复制src 目录到 /opt/src 目录 将容器的工作目录设置为 /opt/src 默认目录 安装 Python依赖的关系 将容器默认命令设置为 ​​python app.py​


定义 docker-compose 执行脚本

在 compose_test/docker 下新建 docker-compose.yml,具体内容如下

version: 3
services:
web:
build: ../
ports:
- "5000:5000"
volumes:
- ../src:/opt/src
redis:
image: redis:3.0.7

compose具体介绍

定义了两个服务,一个是web,一个是redis

web容器:

  • 使用了当前 docker-compose.yml 文件所在目录的上级中的Dockerfile构建镜像
  • 将容器端口暴露映射至5000端口
  • 将容器卷目录挂载到容器外部 /opt/src 目录,持久化到本地磁盘

redis容器:

  • redis 服务镜像地址为下载 3.0.7版本

【云原生】Docker

⚡测试

通过命令测试

注意:该命令必须在 存在有docker-compose.yml 的目录下执行 


# 直接执行
docker-compose up
# 后台方式执行
docker-compose up -d

【云原生】Docker

服务启动成功

docker ps

【云原生】Docker

查看网络情况

# 查看所有的网络情况
docker network ls
#查看某一个网络的详细信息
docker network inspect id

【云原生】Docker

输入地址测试

# 服务器直接测试
curl localhost:5000

【云原生】Docker测试成功~

关闭服务命令

docker-compose down
ctrl + c

五、Yaml规则

docker-compose.yml 是核心配置文件 他的规则如下

# 3层

version: # 版本
services: # 服务
服务1: web
# 服务配置
images
build
# 可以通过 该命令指定我们的执行顺序,优先加载数据库
depends_on:
mysql
redis
network
......
服务2: redis
.....
服务3: mysql
.....
# 其他配置 网络/卷 全局规则
volumes:
networks:
configs

⛵小结

以上就是【小王 Java】对 【云原生】Docker 进阶 -- 阿里云服务器安装Docker Compose与初体验 的简单介绍,Docker Compose 工具,可以很好的解决我们的微服务部署问题,在小规模的微服务情况下,可采用我们的 Docker Compose!

如果这篇【文章】有帮助到你,希望可以给【小王 Java】点个赞

阿里云centos安装docker

近期转向core开发,mssql也支持了docker,索性把手上的一台服务改成centos做测试开发。中间安装docker碰到的问题做个记录。docker版本docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。DockerCE即社区免费版,Doc... 查看详情

云原生|docker篇docker架构&中央仓库&安装(代码片段)

...where!!!  一、Docker架构Docker使用客户端-服务器(C/S)架构模式,使用远程API来管理和创建Docker容器。Docke 查看详情

云原生之docker实战使用docker部署kavita个人漫画服务器

【云原生之Docker实战】使用Docker部署Kavita个人漫画服务器一、Kavita介绍1.Kavita简介2.Kavita特点3.Kavita功能二、检查本地Docker状态1.检查docker版本2.检查docker状态三、下载Kavita镜像四、使用docker命令创建Kavita容器1.创建安装目录2.创建K... 查看详情

docker安装配置

?安装环境centos7.2[[email protected]~]#sudoyuminstall-ydocker配置镜像加速器(阿里云)1.注册阿里云账户2.访问阿里云加速器3.在centos中执行自己阿里云加速其器的配置命令??查看安装成功1.启动dockersystemctlstartdocker2.执行dockerrunhello-world如... 查看详情

docker进阶--发布镜像到dockerhub与阿里云容器

一、什么是DocekrHub、阿里云容器?DockerHubDockerHub是一个由Docker公司运行和管理的基于云的存储库。它是一个在线存储库,Docker镜像可以由其他用户发布和使用。有两种库:公共存储库和私有存储库。如果你是一家公司,你可以在... 查看详情

docke镜像上传到dockerhub仓库和阿里云docker仓库的方法

操作指南 1. 登录阿里云dockerregistry:$sudodockerlogin--username=linjiaxin897591495registry.cn-hangzhou.aliyuncs.com  登录registry的用户名是您的阿里云账号全名,密码是您开通namespace时设置的密码。你可以在镜像管理首页点击右上角... 查看详情

云原生之docker实战使用docker部署seafile开源企业云盘

【云原生之Docker实战】使用Docker部署Seafile开源企业云盘一、Seafile介绍1.Seafile简介2.Seafile特点二、检查宿主机系统版本三、检查本地docker环境1.检查docker服务状态2.检查docker配置信息3.开启IPv4forwarding四、安装docker-compose1.下载docker-... 查看详情

云原生之docker实战部署轻量级容器云管理平台humpback

【云原生之Docker实战】部署轻量级容器云管理平台Humpback一、Humpback介绍1.Humpback简介2.Humpback特点二、检查docker环境1.检查docker状态2.检查docker版本三、安装docker-compose1.下载docker-compose二进制包2.给文件增加执行权限3.检查docker-compos... 查看详情

云原生之docker实战使用docker部署pichome个人相册系统

【云原生之Docker实战】使用Docker部署Pichome个人相册系统一、Pichome介绍1.Pichome简介2.Pichome特点二、检查宿主机系统版本三、检查本地docker环境1.检查docker服务状态2.检查docker配置信息3.开启IPv4forwarding四、安装docker-compose1.下载docker-... 查看详情

云原生之docker实战使用docker部署redmine项目管理平台

【云原生之Docker实战】使用Docker部署Redmine项目管理平台一、Redmine介绍1.Redmine简介2.Redmine特点二、检查宿主机系统版本三、检查本地docker环境1.检查docker服务状态2.检查docker配置信息3.开启IPv4forwarding四、安装docker-compose1.下载docker-... 查看详情

阿里云ecs云服务器基于docker安装zookeeper并且操作(代码片段)

  介绍了阿里云ECS云服务器的Centos系统如何在docker环境下安装zookeeper并执行连接操作!  本文详细介绍了基于docker安装zookeeper的教程,至于如何安装docker,我们在此前的文章中已经介绍过了:阿里云ECS云服务... 查看详情

阿里云服务器安装docker并部署redis

参考文章:阿里云ECS服务器安装docker(图文教程)-阿里云开发者社区(aliyun.com)阿里云Docker下安装Redis_Kanvvin的博客-CSDN博客史上最详细Docker安装Redis(含每一步的图解)实战_宁在春的博客-CSDN博客_dockerredis安装命 查看详情

云原生之docker实战使用docker部署lskypro个人图床平台

【云原生之Docker实战】使用Docker部署LskyPro个人图床平台一、LskyPro介绍1.LskyPro简介2.LskyPro特点二、检查宿主机系统版本三、检查本地docker环境1.检查docker服务状态2.检查docker配置信息3.开启IPv4forwarding四、安装docker-compose1.下载docker-... 查看详情

docker系列详解阿里云服务器安装docker(代码片段)

...文档:https://docs.docker.com/get-docker/准备要想在阿里云服务器上安装docker,首先要做的准备工作就是。。。拥有一台阿里云服务器😄&# 查看详情

云原生|docker篇docker架构&中央仓库&安装

...ldonce,Runanywhere!!!  一、Docker架构Docker使用客户端-服务器(C/S)架构模式,使用远程API来管理和创建Docker容器。Docker容器通过Docker镜像来创建。1 查看详情

云原生|docker篇之轻松学会原理|架构|安装|加速

活动地址: 开发云-一站式云服务平台文章目录前言一、Docker架构二、Docker隔离原理三、Docker安装 查看详情

云原生|docker篇之轻松学会原理|架构|安装|加速

活动地址: 开发云-一站式云服务平台文章目录前言一、Docker架构二、Docker隔离原理三、Docker安装 查看详情

云原生之docker实战使用dokcer部署web端vscode

...页2.扩展商店使用一、vscode-server介绍1.vscode-server是VS代码服务器的容器化版本。2.VisualStudioCodeServer是一项可以在远程开发机器(如台式电脑或虚拟机(VM))上运行的服务。它允 查看详情