docker-copmse 操作和Spring Boot 项目的部署

157 阅读1分钟

Compose常见操作

(1)查看版本

docker-compose version

(2)根据yml创建service

docker-compose up

指定yaml:docker-compose  up -f xxx.yaml

后台运行:docker-compose up -d

(3)查看启动成功的service

docker-compose ps 也可以使用docker ps

(4)查看images

docker-compose images

(5)停止/启动service

docker-compose stop/start

(6)删除service[同时会删除掉network和volume]

docker-compose down

(7)进入到某个service

docker-compose exec redis sh

Compose配置规则

docker-compse.yml核心

官网地址:docs.docker.com/compose/com…

version: '' # 版本
servers:  # 服务
  服务1: web
     # 服务的配置
     build
     network
     images
  服务2: redis
  服务3:
  服务4:
  ...
# 其他配置 网络,全局的规则 数据卷
volumes:
configs:
networks:

Compose一键部署实战

一键部署WP博客

1> 创建my_wordpress目录

mkdir my_wordpress

2>创建yml文件docker-compose.yml

version: "3.9"
    
services:
  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: somewordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
    
  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    volumes:
      - wordpress_data:/var/www/html
    ports:
      - "8000:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
volumes:
  db_data: {}
  wordpress_data: {}

3>通过up命令启动

docker-compose up -d

部署SpringBoot项目

通过Java项目实现访问计数的功能

idea application.properties文件内容

HelloController文件

@RestController
public class HelloController {
    @Resource
    StringRedisTemplate stringRedisTemplate;
    @GetMapping("/hello")
    public String hello(){
        Long counter = stringRedisTemplate.opsForValue().increment("Counter");
        return "页面访问的次数"+counter;
    }
}

在idea中创建Dockerfile文件和docker-compose.yml文件

FROM java:8
COPY *.jar /app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app.jar"]
version: '3.9'
services:
  myapp:
    build: .
    image: myapp
    depends_on:
      - redis
    ports:
      - "8080:8080"
  redis:
    image: "library/redis:alpine"

然后利用maven打包项目 将.jar文件,Dockerfile文件和docker-compose.yml文件

放在CentO S中的同一个目录下

执行 docker-compose up 命令即可成功启动

在浏览器打开