Will&Do 意致 Blog 从零开始 (v1)docker部署
再借图说话:😂 willanddo blog v1版本的实现,该版本中完成了后端:业务使用了laravel框架,并使用docker-compose 完成后端的部署

业务
后端只对编辑页面做了登录限制,
数据备份是直接使用mysql镜像进行库dump
Creating database dumps
Most of the normal tools will work, although their usage might be a little convoluted in some cases to ensure they have access to the mysqld server. A simple way to ensure this is to use docker exec and run the tool from the same container, similar to the following:
$ docker exec some-mysql sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > /some/path/on/your/host/all-databases.sql
Restoring data from dump files
For restoring data. You can use docker exec command with -i flag, similar to the following:
$ docker exec -i some-mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"' < /some/path/on/your/host/all-databases.sql
主机部署
因为薅了几个阿里腾讯的主机羊毛,各个主机的情况不一样,有时候服务需要迁移,这里使用docker方案完成底层部署,迁移的时候直接就可以迁移走了,
docker方案流行的又有以下几种:
- 纯docker部署,只写了Dockerfile启动编排全靠手动,太麻烦
- docker-compose,docker自带的一个小型的docker编排工具,可以把一个项目的各个服务(应用,数据库,缓存)编排到一个docker-compose.yml文件里,小巧轻便,适用于单主机
- docker swarm,docker官方的分布式编排工具,对标k8s,可以将多个docker主机组成集群(想想羊毛主机的带宽不适应)
- k8s,谷歌的docker编排工具,很强,(但这几个小主机装完资源都用完了)
- LaraDock ,laravel社区提供的docker部署方案,集成了很多东西
对比之下,先用docker-compose来部署吧
这里有个很好的sample项目:atsea-sample-shop-app
下面是blog项目结构图:
docker-compose.yml:
启动的时候切换到非root账号在项目目录下执行docker-compose up -d后整个项目就起来了
注:为什么docker-compose中secret不起作用?这里有个坑docker-compose 不能使用secret,docker secret 是基于swarm模式的,把一些机密信息保持到主节点(manager),任务节点使用的挂载到内存的/run/secret/下面

浙公网安备 33010602011771号