csudo curl -L “https://github.com/docker/compose/releases/download/1.29.2/docker-compose- ( u n a m e − s ) − (uname -s)- (uname−s)−(uname -m)” -o /usr/local/bin/docker-compose
#安装太慢的 把github源换成get.daocloud.io
curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-uname -s
-uname -m
-o /usr/local/bin/docker-compose
去到安装目录检查:下载成功!
2、设置文件可执行权限
sudo chmod +x /usr/local/bin/docker-compose
3、查看版本信息
docker-compose -version
4、卸载Docker-Compose
sudo rm /usr/local/bin/docker-compose
3、快速体验Docker Compose
参考文档:https://docs.docker.com/compose/gettingstarted/
1、创建目录,所有操作都在这个目录下进行
mkdir composetest
cd composetest
2、创建一个py应用,(类似统计浏览次数,计数器)
import time
import redis #导入了我们的redis
from flask import Flask #导入了我们的Flask(python的一个框架依赖)
app = Flask(name)
cache = redis.Redis(host=‘redis’, port=6379)
def get_hit_count():
retries = 5
while True:
try:
return cache.incr(‘hits’)
except redis.exceptions.ConnectionError as exc:
if retries == 0:
raise exc
retries -= 1
time.sleep(0.5)
@app.route(‘/’)
def hello():
count = get_hit_count()
return ‘Hello World! I have been seen {} times.\n’.format(count)
3、创建一个配置文本requirements.txt
flask
redis
4、创建Dockerfile
syntax=docker/dockerfile:1
FROM python:3.7-alpine
WORKDIR /code
ENV FLASK_APP=app.py
ENV FLASK_RUN_HOST=0.0.0.0
RUN apk add --no-cache gcc musl-dev linux-headers
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
EXPOSE 5000
COPY . .
CMD [“flask”, “run”]
5、创建docker-compose.yml
version: “3.9”
services:
web:
build: .
ports:
- “5000:5000”
redis:
image: “redis:alpine”
6、启动
docker-compose up
启动成功!
测试结果
hh,一键启动两个应用确实舒服!
4、Docker Compose默认配置
1、自动下载配置文件docker-compose.yml中的镜像
2、自动生成服务名字 文件名_服务名 _num
Starting composetest_web_1 … done #web服务
Starting composetest_redis_1 … done #redis服务
3、网络规则
默认会生成一个网络,10个服务=>网络(项目中的内容都在同一个网络下,容器名访问)
在同一个网络下可以直接通过容器名(域名)访问
4、停止
-
docker-compose down :需要在compose的yaml配置文件目录执行,不然是找不到的!
-
ctrl + c
小节
1、Docker镜像,run ==> 容器
2、Dockerfile构建镜像(服务打包)
3、docker-compose启动项目(编排,多个微服务/环境)
4、Docker网络!
5、项目需要更新,docker compose up --build
即可
5、Compose编写配置规则
参考文档 : https://docs.docker.com/compose/compose-file/compose-file-v3/
核心:编写 docker-compose.yaml
#3层
version: ‘’ #版本
services: #服务
服务1: web
#服务配置 docker容器的配置
images:
build:
network:
depends_on: #depents_on: web服务依赖redis和mysql,让他们先启动!(这就是编排的原因)
-redis
-mysql
服务2: redis
…
服务2: mysql
…
#其他配置 网络/卷、全局规则
volumes:
network:
configs:
1、版本选择
2、服务相关配置
6、Compose一键部署WP博客
参考文档 :https://docs.docker.com/samples/wordpress/
1、创建目录并进入目录
mkdir my_wordpress/
cd my_wordpress/
2、编写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:
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Java)
最后
终极手撕架构师的学习笔记:分布式+微服务+开源框架+性能优化
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
103-1713825640095)]
[外链图片转存中…(img-ESqJS1K3-1713825640096)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Java)
[外链图片转存中…(img-4GLa462g-1713825640096)]
最后
终极手撕架构师的学习笔记:分布式+微服务+开源框架+性能优化
[外链图片转存中…(img-Pq8yu9Ts-1713825640096)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!