如何建设网站的外链,给别人做的网站涉及到违法,长沙网络营销推广费用,福永网站制作docker-compose容器单机编排
开篇前言 随着网站架构的升级#xff0c;容器的使用也越来越频繁#xff0c;应用服务和容器之间的关系也越发的复杂。 这个就要求研发人员能更好的方法去管理数量较多的服务器#xff0c;而不能手动挨个管理。 例如一个LNMP 架构#xff0c;就…docker-compose容器单机编排
开篇前言 随着网站架构的升级容器的使用也越来越频繁应用服务和容器之间的关系也越发的复杂。 这个就要求研发人员能更好的方法去管理数量较多的服务器而不能手动挨个管理。 例如一个LNMP 架构就得部署web服务器后台的程序数据库负载均衡等等都需要统一的部署在容器中那么这个时候就需要统一的容器编排服务docker-compose,通过单独的docker-compose.yml.模板文件定义一组相关联的应用服务器。 多看看官方文档 看看官方的资料 https://docs.docker.com/compose/compose-file/ 第三方的资料也可以看看 https://yeasy.gitbook.io/docker_practice/compose/ 为什么要学习docker-compose 当你去运行一组应用的容器多组的应用里面会有很多的容器。 应用1crm系统lnmp、8个容器之间都有关系如大家都是属于哪一个网段 192.168.15.0/24 8个容器之间的 网络用哪一个网桥 8个容器都要暴露出哪些端口 8个容器都要定义哪些数据卷 应用2 同上12个容器
12个容器 docker run * 12定义好yaml文件【描述好你要的】命令化的一个部署 docker run 运行的时候再临时传入参数 –network -v –link yaml 脚本化的部署方式 ansible all -m shell -a ‘xxxx’ install-lnmp.yaml 先描述好脚本要部署的环境 定义好yaml文件【描述好 你要】 用的网桥是谁存储卷容器和容器之间的依赖关系 自己写过那些yaml脚本
ansible playbook ,role 脚本docker-compose.yaml 买哦书容器部署的脚本【描述好你要部署什么什么镜像什么存储】k8s的资源描述yaml【先描述好你要部署什么什么存储】
总结一句话先想好要敲什么命令再把命令转化成yaml的语法形式 机器上看到的一组运行的服务器 定义一组docker-compose 网站类的服务 web服务器 image : nginx 后台运行的程序服务 images : php-centos python-centos compose 是基于定义和运行多个容器的一个docker内置工具 compose 需要你自己去定义yaml文件来描述多个容器之间的关系 写好yaml之后基于compose命令去读取yaml内容 如何用docker-compose
1.定义好你容器的关系
nginx
php
mysql
redis
...yaml语法该怎么样去写有哪些字段该用什么语法缩进关系是什么看看官方的资料
https://docs.docker.com/compose/compose-file/所有的高级软件最精准的资料都在这里找
下一步学习k8s官方的资料没有这个官网完美 如何查看官网资料理解字段如何写 如何查阅官网的docker-compose字段 LNMP 公司php后端的员工管理系统 nginx , php , mysql 他们都走互相的主机名 –name mysql –name my-php --link mysql –name my-nginx --link my-php # 比如部署wordpress 到容器里
docker run 挨个运行每一个容器的环境# 服务1 nginx,web服务代理服务
# 现有的宿主机nginx的运行环境迁移到容器里面去 /etc/nginx/docker run -d --name mynginx -p 80:80\
-v /etc/nginx/:/etc/nginx \
-v /var/log/nginx:/var/log/nginx nginx:latest# 服务2 php服务提供后端服务wordpress , 官方镜像php的运行环境。# 先基于dockerfile构建镜像phpcentos环境 mysqldocker run -d -v 宿主机目录容器内的目录 myphp 1.要清楚启动容器的顺序------- 你写的yaml脚本中各个服务的依赖关系 2.容器启动的参数如网络数据卷端口暴露这是每一个制定的服务设置的参数。 安装docker-compose
[rootdocker-110 ~]# file /usr/bin/docker-compose
/usr/bin/docker-compose: cannot open (No such file or directory)# 有的化先删除或者优化curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-uname -s-uname -m /usr/local/bin/docker-compose# 看看这个命令的信息
file /usr/local/bin/docker-compose
/usr/local/bin/docker-compose: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 3.2.0, BuildID[sha1]3507aa01d32c34dc8e8c6462b764adb90a82768d, stripped# 给他加上执行的权限
[rootdocker-110 ~]# chmod x /usr/local/bin/docker-compose
docker-compose命令整理
# 默认使用docker-compose.yml构建镜像
$ docker-compose build
$ docker-compose build --no-cache # 不带缓存的构建# 指定不同yml文件模板用于构建镜像
$ docker-compose build -f docker-compose1.yml# 列出Compose文件构建的镜像
$ docker-compose images # 启动所有编排容器服务
$ docker-compose up -d# 查看正在运行中的容器
$ docker-compose ps # 查看所有编排容器包括已停止的容器
$ docker-compose ps -a# 进入指定容器执行命令
$ docker-compose exec nginx bash
$ docker-compose exec web python manage.py migrate --noinput# 查看web容器的实时日志
$ docker-compose logs -f web# 停止所有up命令启动的容器
$ docker-compose down # 停止所有up命令启动的容器,并移除数据卷
$ docker-compose down -v# 重新启动停止服务的容器
$ docker-compose restart web# 暂停web容器
$ docker-compose pause web# 恢复web容器
$ docker-compose unpause web# 删除web容器删除前必需停止stop web容器服务
$ docker-compose rm web # 查看各个服务容器内运行的进程
$ docker-compose top # 合集命令
build
config -q
create
down
events
exec
help
images
kill
logs
pause
restart
rm
run
scale
start
stop
top
unpause
updocker-compose语法
1.官方文档
https://compose-spec.github.io/compose-spec/#use-cases2.菜鸟文档3.还有一个不错的教程每一个参数不认识的可以来这里看看
https://yeasy.gitbook.io/docker_practice/compose/
这个网站也不错如何理解yaml的元素关系以及作用 不可能一上来就从头开始写 yaml shell 脚本
多看多模仿熟练看懂较多的脚本后理解大部分的字段是什么作用缩进关系以及改写什么参数以及遇见不认识的参数从哪里找资料。模仿改造为你自己的脚本【如智能汽车运行系统】跑起来ubuntu里面。。 【wordpres运行系统】#docker-compose v3 三代版本能用最新的字段
docker-compose.yml