docker-compose快速上手

docker-compose

1 下载安装

github下载:

#注意先下载哪个版本只需要替换即可
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
#下载后赋予权限
chmod +x /usr/local/bin/docker-compose

国内镜像下载(速度块)

curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
#下载后赋予权限
chmod +x /usr/local/bin/docker-compose

判断是否安装成功

#查看 docker-compose 版本
docker-compose -v 

Yaml配置文件

2.常用命令

命令描述
docker-compose up启动compose服务 加 -d表示后台启动
docker-compose stop停止服务(不删除容器)
docker-compose rm删除compose所有容器
docker-compose down停止并删除所有容器和网络,但是不会删除卷和镜像
docker-compose ps列出compose内的所有容器
docker-compose restart重启所有容器

yml配置文件

docker-compose.yml 用于声明容器的创建过程

详情可以看官网或其他资料

菜鸟教程

案例

用docker-compose 启动一个springboot+redis的服务

1 创建spring-boot工程编写一个接口,然后打包为jar

@RestController
public class HelloController {
    @Autowired
    private RedisTemplate redisTemplate;

    @GetMapping("/hello")
    public String hello(){
        ValueOperations valueOperations = redisTemplate.opsForValue();
        return "该页面已被访问: "+valueOperations.increment("key")+" 次";
    }
}

application.properties 配置文件

server.port=8888
#注意这里的host填的是redis不是具体的ip
spring.redis.host=redis
spring.redis.password=123456

2 编写Dockerfile构建springboot启动镜像

FROM java:8
#作者信息
MAINTAINER gudian<1994371810@qq.com>
#设置工作目录
WORKDIR /data
#拷贝 jar和配置文件
COPY ./app.jar /data/app.jar
COPY ./application.properties /data/application.properties
#启动jar指定配置文件
ENTRYPOINT [ "nohup","java","-jar","app.jar","--spring.config.lication=/data/application.properties","&"]

将Dockerfile等相关文件上传到entos内

#我这里是吧所有文件放到/data/web目录下
mdkir -p /data/web
cp app.jar /data/web
cp application.properties /data/web
cp Dockerfile /data/web

3 下载 redis.conf 配置文件并修改相关配置

#我这里放在/data/redis目录下
mdkir -p /data/redis
cd /data/redis
wget https://raw.githubusercontent.com/redis/redis/6.0/redis.conf

修改相关配置

bind 注释掉
protected-mode 改为no
requirepass 修改密码为spirngboot配置文件的值
dir 修改rdb aof 文件存放位置
appendonly yes 开启aof

4 创建 docker-compose.yml

vim /data/docker-compose.yml

version: '3' #指定docker-compose文件版本
services:
  web:  #web服务相关配置
    build: 
      dockerfile: "Dockerfile" #Dockerfile名称
      context: "/data/web" #构建的目录
    ports:
    - '8888:8888' #映射的端口
    depends_on:
      - redis #依赖redis
    container_name: "gudian_web" #设置容器名称

  redis:
    image: "redis:6.2.1" #以redis镜像启动
    volumes: #挂载目录
    - "/data/redis:/data"
    ports: #指定端口
    - "6379:6379"
    container_name: "gudian_redis" #设置容器名称
    command: "redis-server /data/redis.conf" #覆盖redis默认的启动命令

5 确保文件都放到centos后启动

/data/web 内有 app.jar application.properties Dockerfile

/data/redis内有 redis.conf

/data目录下有docker-compose.yml

#通过命令启动
docker-compose up 

测试访问web页面可以看到正常显示访问次数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值