Orquestación de administración de contenedores de Docker Compose

  Antes de comenzar, debe comprender qué es Docker Compose.

  Si ahora tenemos docenas o cientos de microservicios que deben implementarse, si vamos manualmente al buid para construir la imagen, esa carga de trabajo; o si uno de nuestros servicios tiene un problema, se cae y debe reiniciarse, pero este servicio tiene otras dependencias, qué debemos hacer en este momento; Docker Compose es solucionar este tipo de problema

  Entonces, ¿qué es exactamente Docker Compose? La siguiente imagen es del documento oficial, que aproximadamente significa: definir y configurar múltiples contenedores a través de archivos yaml, e iniciarlos a través de comandos. Podemos usarlo para organizar los contenedores.
Inserte la descripción de la imagen aquí
  Luego comenzaremos a usar Docker Compose. Antes de usarlo, necesitamos Para saber, Docker Compose es solo un proyecto de código abierto de Docker, y no está integrado en Docker, por lo que primero debemos instalar Docker Compose

# 下载Docker Compose,官方的下载地址太慢了,所以我重新找了一个
curl -L https://get.daocloud.io/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# 给 Docker Compose 文件可执行权限
chmod +x docker-compose
# 查看版本

  Luego puede usar Docker Compose, el funcionario dio una aplicación de una sola página de Python de inicio rápido, los amigos interesados ​​pueden probar ( Portal )

  A continuación, primero comprenda la regla docker-compose.yaml, que es el núcleo de todo ( documento oficial ), que se puede dividir en tres capas para organizar

# 第一层 版本,与docker 引擎版本对应的,向下兼容
version: ''

# 第二层 服务
service:
	服务1:
		服务配置
	服务2:
		服务配置
	.....

# 第三层 其他配置 网络、卷、全局规则
volumes:
netwoeks:
configd:
.....

  A continuación, escriba su propio servicio y conéctese a Internet. Primero, escriba su propio servicio, simplemente escriba un hola mundo.

# 接口
@RestController
public class HelloController {
    
    
    @Autowired
    private RedisTemplate redisTemplate;

    @GetMapping("/")
    public String hello() {
    
    
        Long views = redisTemplate.opsForValue().increment("views");
        return "hello world! 当前浏览量:" + views;
    }
}

# yaml配置,注意,现在是连接redis,相当于在局域网内通过域名访问Redis,但是现在在本地肯定是运行不了的
server:
  port: 8080
spring:
  redis:
    host: redis

  Luego escriba el archivo dockerfile para generar un espejo

FROM java:8
COPY *.jar /hello.jar
CMD ["--server.port=8080"]
EXPOSE 8080
ENTRYPOINT ["java","-jar","/hello.jar","&"]

  Ahora también necesitamos un archivo docker-compose.yaml, a través de este archivo para construir la imagen con un clic, el servicio se inicia, al igual que las instrucciones del contenedor de ejecución de la ventana acoplable se escriben en el archivo

# 版本
version: '3.8'
# 需要构建的镜像
services:
  # hello镜像,我们自己的服务
  hello:
    # 构建当前路径下的dockerfile
    build: .
    # 也可以执行构建的文件
#    dockerfile: Dockerfile
    # 指定镜像名
    image: hello
    # 依赖的服务镜像
    depends_on:
      - redis
    # 映射的端口
    ports:
      - "8083:8080"

  # redis 服务
  redis:
    # redis的镜像
    image: "library/redis:alpine"

  El siguiente paso es empaquetar el servicio y cargarlo en el servidor. Al menos hay tres archivos: service jar, dockerfile y docker-compose.yaml. Si tiene otros archivos y los carga,
Inserte la descripción de la imagen aquí
  puede comenzar a compilar la imagen y ejecútelo ahora. A través del comando "docker-compose up", puede ver que después de la ejecución, automáticamente extraerá la imagen y creará el contenedor. Si no hay ningún error o se sale, el proyecto se está ejecutando correctamente

# 构建镜像并在前台运行
docker-compose up
# 重新构建
docker-compose up --build
# 构建镜像并在后台运行
docker-compose up -d
# 停止,如果是前台运行,可以直接在当前控制台按 CTRL + C 停止
docker-compose down

Inserte la descripción de la imagen aquí
  A continuación, probaremos nuestra interfaz. Primero mira el contenedor. Este es el contenedor que creamos a través de docker-compose. Luego visitamos nuestra interfaz. Puedes ver que puedes acceder y obtener datos de Redis.
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_45481406/article/details/109188002
Recomendado
Clasificación