DockerCompose是什么
Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。
一键部署自己的项目
环境准备
配置Docker环境
- 卸载旧的版本
yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine
- 需要的安装包
yum install -y yum-utils
- 设置镜像的仓库
yum-config-manager
–add-repo
https://download.docker.com/linux/centos/docker-ce.repo #默认是国外的(慢)
yum-config-manager
–add-repo
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #阿里云地址(快) 推荐
- 更新yum软件包索引
yum makecache fast
- 安装Docker docker-ce 社区版
yum install docker-ce docker-ce-cli containerd.io
- 启动docker
systemctl start docker
- 查看docker版本
docker version
配置DockerCompose环境
- 下载DockerCompose
curl -L “https://github.com/docker/compose/releases/download/1.24.1/docker-compose- ( u n a m e − s ) − (uname -s)- (uname−s)−(uname -m)” -o /usr/local/bin/docker-compose
- 将可执行权限应用于二进制文件
chmod +x /usr/local/bin/docker-compose
- 创建软链
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
- 测试是否安装成功
docker-compose --version
代码Demo
HelloController
@RestController
public class HelloController {
@Autowired
private StringRedisTemplate redisTemplate;
@RequestMapping("/hello")
public String hello(){
Long views = redisTemplate.opsForValue().increment("views");
return "访问的次数:"+ views;
}
}
application.properties
# 端口
server.port=8080
# 集群服务名
spring.redis.host=redis
docker-compose.yml
version: '3.3'
services:
myapp:
build: .
image: myapp
depends_on:
- redis
ports:
- "8080:8080"
redis:
image: 'redis'
Dockerfile
FROM java:8
COPY *.jar /app.jar
CMD ["--server.port=8080"]
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app.jar"]
将项目部署到服务器中
将jar包放到服务器上
运行docker-compose up运行容器 -d 后台运行
测试
搭建自己的博客系统(基于halo)
参考资料
若不想做域名映射又想使用docker-compose进行搭建只需使用以下yaml
version: '2'
services:
halo:
restart: always
image: ruibaby/halo
container_name: halo
ports:
- 1023:1023
environment:
- VIRTUAL_PORT=8090
- VIRTUAL_HOST=localhost # 你的博客地址(务必修改)
- LETSENCRYPT_HOST=localhost # 你的博客地址 (务必修改)
- LETSENCRYPT_EMAIL=654658859@qq.com # 证书所有者的邮箱,快过期时会提醒(务必修改)
- MAX_UPLOAD_SIZE=10m
- JVM_XMS=256m
- JVM_XMX=256m
volumes:
- ~/.halo:/root/.halo