当前位置: 首页 > news >正文

大连做网站的企业我要推广

大连做网站的企业,我要推广,怎么制作官网,wordpress文章上头条dockercompose部署应用 部署案例的应用1 python的案例 centosflask 容器 redis容器 提供一个 网站程序,刷新一次,看到页面计数器1 compose 定义两个服务 flask服务(容器)-----镜像,运行环境,物料&…

dockercompose部署应用

部署案例的应用1

python的案例

centos+flask 容器

redis容器

提供一个 网站程序,刷新一次,看到页面计数器+1

compose 定义两个服务

flask服务(容器)-----镜像,运行环境,物料,源码

redis服务(容器)----镜像,运行环境,配置物料:

流程

  1. 定义好目录,准备好源码。配置文件docker-compose.yml
  2. 文件2,python程序的依赖模块文件
    • 模拟开发,准备好源码程序
    • python程序运行环境 ,运维一定要懂部署这个环节 ta
  3. 先构建好本地镜像
  4. 准备你的docker-compose.yml ,容器编排脚本文件,描述容器和容器之间的运行参数,运行关系
docker run  xxx
docker run   xxx
容器实例↓
改造为 yaml,描述 容器与容器之间的关系# 规范写法
1. 定义好目录,准备源码,配置文件,docker-compose.yml- 模拟开发,准备好源码程序
- python程序运行环境 ,运维一定要懂部署这个环节
[root@docker-200 /compose-all/flask-redis]#cat flask-redis.pyfrom flask import Flask
from redis import Redisapp = Flask(__name__)
redis = Redis(host='redis', port=6379)@app.route('/')
def hello():count = redis.incr('dianji')return 'linux0224 学习 docker-compose中,运行flask程序 , 这个页面被点击了 {} 次\n'.format(count)if __name__ == "__main__":app.run(host="0.0.0.0", debug=True)文件2,python程序的 依赖模块文件
cat > requirements.txt <<'EOF'
flask
redis
EOF2. 准备运行环境的设置,docker-compose.yml
# 这里用的是aly的源https://mirrors.aliyun.com/pypi/simple/2.1 先构建好本地镜像
cat > Dockerfile <<'EOF'
FROM python:3.9.7
MAINTAINER linux0224
COPY flask-redis.py /opt
COPY requirements.txt /opt
WORKDIR /opt
RUN pip3 install --upgrade pip -i https://mirrors.aliyun.com/pypi/simple/
RUN pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
EOF2.2 查看镜像[root@docker-200 /compose-all/flask-redis]#docker history my-flask-redis:latest [root@docker-200 /compose-all/flask-redis]#docker images my-flask-redis
REPOSITORY       TAG       IMAGE ID       CREATED              SIZE
my-flask-redis   latest    3c2066a34a73   About a minute ago   937MB3.准备你的docker-compose.yml ,容器编排脚本文件,描述容器和容器之间的运行参数,运行关系3.1 给你的flask应用,单独创建个网桥
[root@docker-200 /compose-all/flask-redis]#docker network create --subnet='192.168.17.0/24' --gateway='192.168.17.254'  my-flask-net
083af13e074290456c5a7c43b049114d2a44f0c2bc26a359b0085bbc640833fe# 查看具体的端口信息[root@docker-200 /compose-all/flask-redis]#docker inspect my-flask-net

执行compose文件,去创建flask+redis的两个容器,服务,以及自定义网络的运行环境

还差了很多的东西

在公司部署compose环境,就是一步一步的调试而来,学会如何的调试

查看command如何用字段的文档

https://docs.docker.com/compose/compose-file/#command

1.欠缺flask的运行命令

2.欠缺flask链接redis容器的代码中用的主机名,是redis

查看服务和服务之间的依赖参数文档

https://docs.docker.com/compose/compose-file/#depends_on

先启动redis

flask再去依赖它

[root@docker-200 /compose-all/flask-redis]#cat docker-compose.yml 
# wordpress
version: '3'
services:myflask: # 制定运行的服务名字,其他服务会来调这个名字image: my-flask-redis # dockerfile先构建好镜像container_name: my-flask-redis-app # --name 运行的容器名字environment:   # 等于 -e 给容器传入运行时的 系统env环境变量  - name=linux0224- pwd=linux0224volumes:- /tmp/flask-redis-log/:/var/log/ports:- 5000:5000command: ["python3","/opt/flask-redis.py"]networks:- my-flask-netredis:image: redis:latestcontainer_name: my-redis environment:- redis_name=redis5ports:- 6379:6379networks:- my-flask-netnetworks:  # 1.先定义好网络的信息  ,2. 给service去调用即可my-flask-net:  # 宿主机网络的驱动类型external: true  # 调用外部的网络环境name: my-flask-net  #具体网络驱动的名字# compose 将你 docker run 运行参数,改为描述文件
#  docker run --network = 网桥
# docker run --network=host
[root@docker-200 /compose-all/flask-redis]#

检查语法、执行创建俩容器

docker-compose config -q

启动docker-compose的这个yml脚本

docker-compose up 即可

在这里插入图片描述

确定运行成功

在这里插入图片描述

练习docker-compose生产产品

1. 练习jumpserver容器化部署,去官网找资料
https://docs.jumpserver.org/zh/master/install/setup_by_fast/2.将spug跑起来
https://spug.cc/docs/install-docker1. 看人家docker-compose怎么写,理解语法2. 运行起来的容器,内部信息,如环境变量,存储卷,如后端应用进程,如配置文件

如何转化理解,将docker的手工运行,转为yaml

LNMP 公司,php后端,员工管理系统,部署到容器里

nginx, php ,mysql 互相走主机

  1. –name my-mysql
  2. –name my-php --link my-mysql
  3. —name my-nginx --link my-php
docker run 挨个的运行,每一个容器的环境的环境# 服务1 nginx,web 代理服务
# 服务2 所有的宿主机,nginx的运行环境,迁移到容器里面去跑, /etc/nginxdocker run -d --name mynginx -p 80:80 \
-v /etc/nginx/:/etc/nginx \
-v /var/log/nginx:/var/log/nginx \
nginx:latest # 服务2,php服务,提供后端服务
# 先基于dockerfile构建,php+centos 环境docker run -d --name  myphp  -v 宿主机目录:容器内要暴露给外部的数据  myphp1.捋清楚启动容器的顺序-----------你写yaml,。中服务的依赖关系定义
2. 容器启动的参数,如网络,数据卷,端口暴露,这就是 对每一个制定的服务,设置的参数

案例2 docker-compose部署zabbix

compose文件

# 获取zabbix-compose脚本升级compose复杂编程1.可以去官网,获取复杂需要你去思考的部署的逻辑、# 官方网址https://github.com/zabbix/zabbix-docker

这里还少一些东西

version: '3'                               #内容填3或者2
services:mysql:                                        #服务名称 image: mysql:5.7                            #镜像名称container_name: mysql                       #容器名称user: 2000:2000                           #指定用户environment:                                #服务所需的操作- "MYSQL_ROOT_PASSWORD=linux0224"- "MYSQL_DATABASE=zabbix"- "MYSQL_USER=zabbix"- "MYSQL_PASSWORD=zabbixlinux0224"volumes:- "/data/docker_mysql:/var/lib/mysql"     #映射的数据目录ports:- "3306:3306"                             #映射端口command:                                    #所需的命令,这里指指定字符集--character-set-server=utf8 --collation-server=utf8_binzabbix-server-mysql:image: zabbix/zabbix-server-mysqlcontainer_name: zabbix-server-mysqlenvironment:- "DB_SERVER_HOST=mysql"- "MYSQL_USER=zabbix"- "MYSQL_ROOT_USER=root"- "MYSQL_ROOT_PASSWORD=linux0224"- "MYSQL_PASSWORD=zabbixlinux0224"ports:- "10051:10051"depends_on:                                      #需要链接的服务,link换成了depends_on- mysql zabbix-web-nginx-mysql:image: zabbix/zabbix-web-nginx-mysqlcontainer_name: zabbix-web-nginx-mysqlenvironment:- "DB_SERVER_HOST=mysql"- "MYSQL_USER=zabbix"- "MYSQL_PASSWORD=zabbixlinux0224"- "ZBX_SERVER_HOST=zabbix-server-mysql"- "PHP_TZ=Asia/Shanghai"ports:- "80:8080"depends_on:- mysql- zabbix-server-mysqlnetworks:deault:external: truename: zabbix-net

检查语法

[root@docker-110 zabbix-all]# docker-compose config -q

启动docker-compose

[root@docker-110 zabbix-all]# docker-compose up -d 
# 后台运行# 创建网络资源,以当前文件夹命名,创建network环境以及创建容器运行

停止,docker-compose 容器组

docker-compose stop默认都找当前
[root@docker-200 /compose-all/zabbix-all]#ls
docker-compose.yml

危险命令,停止且移除compose定义的资源

docekr-compose down 
[root@docker-110 zabbix-all]# docker logs ac7bdb89b6ca
2025-06-13 13:49:05+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.44-1.el7 started.
2025-06-13 13:49:06+00:00 [Note] [Entrypoint]: Initializing database files
mysqld: Can't create/write to file '/var/lib/mysql/is_writable' (Errcode: 13 - Permission denied)这个是为什么mysql起不来的原因
是因为最后一行他这里没有权限访问这个目录
# ----》这是报错其根本的原因是yaml的脚本里面是2000这个用户去跑,而主机是root用户去使用的,所以权限不足。

解决权限问题

给映射的mysql数据目录,给个用户 mysql 2000
[root@docker-200 /compose-all/zabbix-linux0224]#useradd -u 2000 -M -s /sbin/nologin mysql
[root@docker-200 /compose-all/zabbix-linux0224]#
[root@docker-200 /compose-all/zabbix-linux0224]#chown -R mysql.mysql /data/

在这里插入图片描述

用compose命令查看容器组信息

[root@docker-200 /compose-all/zabbix-linux0224]#docker-compose stop
WARNING: Some networks were defined but are not used by any service: deault
Stopping zabbix-web-nginx-mysql ... done
Stopping zabbix-server-mysql    ... done
[root@docker-200 /compose-all/zabbix-linux0224]#
[root@docker-200 /compose-all/zabbix-linux0224]#
[root@docker-200 /compose-all/zabbix-linux0224]#
[root@docker-200 /compose-all/zabbix-linux0224]#
[root@docker-200 /compose-all/zabbix-linux0224]#docker-compose start
WARNING: Some networks were defined but are not used by any service: deault
Starting mysql                  ... done
Starting zabbix-server-mysql    ... done
Starting zabbix-web-nginx-mysql ... done
[root@docker-200 /compose-all/zabbix-linux0224]#docker-compose ps
WARNING: Some networks were defined but are not used by any service: deaultName                       Command               State                          Ports                       
---------------------------------------------------------------------------------------------------------------------
mysql                    docker-entrypoint.sh --cha ...   Up      0.0.0.0:3306->3306/tcp,:::3306->3306/tcp, 33060/tcp
zabbix-server-mysql      /sbin/tini -- /usr/bin/doc ...   Up      0.0.0.0:10051->10051/tcp,:::10051->10051/tcp       
zabbix-web-nginx-mysql   docker-entrypoint.sh             Up      0.0.0.0:80->8080/tcp,:::80->8080/tcp, 8443/tcp     
[root@docker-200 /compose-all/zabbix-linux0224]#

小结

编排之后用编排的命令去统一的管理

这个就是容器编排的意义所在,这个只是单机的容器编排,后面学习k8s后的多容器编排…

/etc/zabbix/zabbix_server.conf

USE_DB_ROOT_USER=false                                                                                       
CREATE_ZBX_DB_USER=false                                                                                     
file_env MYSQL_USER                                                                                          
file_env MYSQL_PASSWORD                                                                                      file_env MYSQL_ROOT_USER                                                                                     
file_env MYSQL_ROOT_PASSWORD    
http://www.zhongyajixie.com/news/46846.html

相关文章:

  • 苏州企业网站制作报价沈阳网络关键词排名
  • 做西餐的网站台州seo优化
  • 仁怀网站建设不好出手电话销售怎么找客户渠道
  • 太原网站建设vhuashiseo 重庆
  • 色块布局网站首页模板足球比赛直播2021欧冠决赛
  • 淘宝这种网站怎么做的百度账号人工客服电话
  • 企业免费推广网站快速排名优化系统
  • 旅游网站开发书籍aso优化前景
  • 个人可以做网站导航的网站吗中国大数据平台官网
  • 辽宁省网站制作公司排名成都网络运营推广
  • 自己怎么建个优惠网站百度广告投放平台
  • 长春美容网站建设如何进行电子商务网站推广
  • 济南手机端建站模板如何推广seo
  • 北京网站备案真实性核验变更百度广告上的商家可靠吗
  • 邯郸建公司网站价格快速优化系统
  • 济宁网站水果网络营销推广方案
  • 网页设计与网站建设论文青岛网站建设培训学校
  • 行业电子网站建设软文自助发布平台系统
  • 深圳网络做网站济南网站优化公司
  • 网站做seo收录推广网站的方法
  • 网站开发合同缺陷百度添加到桌面
  • dz论坛做视频网站教程西安seo推广
  • 做网店哪个网站批发查看百度关键词价格
  • 钢材做那个网站好推广普通话的文字内容
  • 梅县区住房和城市建设局网站seo具体怎么优化
  • 服装网站项目的设计方案培训seo哪家学校好
  • 网站建设招标方案上街网络推广
  • 厦门免费网站建设如何推广app更高效
  • 天津做不锈钢的网站品牌营销活动策划方案
  • 如何查看网络服务商关键词优化心得