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

承德专业做网站的公司网站建设的重要性

承德专业做网站的公司,网站建设的重要性,好用的代码网站,网站备案好后目录 一、Docker-compose 概述 二、Docker-compose简介 三、YML文件格式及编写注意事项 1.yml文件是什么 2.yml问价使用注意事项 3.yml文件的基本数据结构 四、Docker-compose 配置 1.Docker-Compose 配置常用字段 2.Docker Compose常用命令 3.使用Docker-compose创建…

目录

一、Docker-compose 概述

二、Docker-compose简介

三、YML文件格式及编写注意事项 

1.yml文件是什么

2.yml问价使用注意事项

3.yml文件的基本数据结构

四、Docker-compose 配置

1.Docker-Compose 配置常用字段

2.Docker Compose常用命令

3.使用Docker-compose创建LNMP环境,并运行Wordpress网站平台

配置nginx的Dockerfile文件 

配置mysql的Dockerfile

部署php的Dockerfile

部署docker-compose.yml

浏览器访问测试


一、Docker-compose 概述

  1. 一个Dockerfile模板文件可以定义一个单独的应用容器
  2. Docker Compose作为Docker官方产品可以服务编排定义多个容器

二、Docker-compose简介

Dockercompose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。Docker compose项目由 Python 编写,调用 Docker 服务提供的 API来对容器进行管理。因此,只要所操作的平台支持Docker API,就可以在其上利用 compose 来进行编排管理。

Dockercompose一个用于定义和运行多容器 pocker 应用程序的工具。它允许用户使用 YAL 文件米定义应用程序的配置,包括容器的数量、容器之间的依赖关系。环境变量、端口映射以及其他设置。然后,用户可以使用 docker-compose 命令来启动和管理这些容器。

使用 Docker compose 可以方便地管理多个容器,例如,可以同时启动一个 meb 服务器容器和一个数据库容器,并在它们之间建立网络连接。Docker compose还支持自定义网络,使得容器可以在不同的网络中进行通信。

Docker compose文件通常包含一个或多个服务,每个服务都由一个或多个容器组成。服务定义了容器应该执行的任务,以及容器之间的依赖关系。例如,一个 eD 服务器服务可以句含一个或多个Web 服务器容器,,而这些容器又依赖于一个数据库容器。

docker-compose将所管理的容器分为三层, 分别是工程(project),服务(service)以及容器(containner)

Docker-Ccompose 的项目配置文件默认为 docker-copose.yml,可通过环境变量 (COMPOSE_FILE 或 -f 参数自定义配置文件, 其定义了多个有依赖关系的服务及每个服务运行的容器。compose 允许用户通过一个单独的 docker-compose.yml模板文件(YAML格式)来定义一组相关联的应用容器为一个项目(project)。

三、YML文件格式及编写注意事项 

1.yml文件是什么

YAML 是一种标记语言,它可以很直观的展示数据序列化格式,可读性高。类似于 json 数据描述

语言,语法比 json 简单的很多。YAML 数据结构通过缩进来表示,连续的项目通过减号来表示,

键值对用冒号分隔,数组用中括号 [ ] 括起来, hash 用花括号 { } 括起来

2.yml问价使用注意事项

  • 大小写敏感
  • 通过缩进表示层级关系
  • 只能使用空格缩进不能使用tab键
  • 可以使用井号键进行注释
  • 符号字符都有一个空格 如test:
  •  单引号起来的字符,会被当作普通字符串处理。"#&" 双引号里面如果是特殊字符,就表示本意
  • '$' 表示普通字符串
  • "$" 表示就是$

3.yml文件的基本数据结构

yaml格式文件: 文件名以 .yaml .yml 为后缀,用 空格缩进 表示字段的层级关系

特点:可读性高,易于管理

#一级字段
key1: value1              #一个key只有一个值,值的类型为 纯量
key2: 
- value1                        #一个key有多个值的纵向格式,值的类型为 列表
- value2
key3: ["value1", "value2"]      #一个key有多个值的横向格式,值的类型为 数组
key4:#二级字段subkey1: value1               #用 空格缩进 表示字段的层级关系,同一层字段要靠左对齐subkey2:value2subkey3:                      #key的值也是键值对,值的类型为 对象#三级字段sskey1: value1sskey2: value2

json格式文件:文件名以 .json 为后缀,用 大括号{} 表示字段的层级关系,每层字段除了最后一个

字段都要用逗号 , 结尾

特点:易于编程语言的api接口解析

#一级字段
{"key1": ["value1"],"key2": ["value2", "value3"],"key3": {#二级字段"subkey1": ["value1"],"subkey2": ["value2"],"subkey3": {#三级字段"sskey1": ["value1"],"sskey2": ["value2"]}}
}key1:           值相当于echo "helloworld"helloworldkey2: |         值相当于echo -e "hello\nworld"      #key: |  表示保留文本块中的换行符helloworldkey3: |-        值相当于echo -e "hello\nworld\c"helloworldkey4: |+        值相当于echo -e "hello\nworld\n"helloworldkey5: > hello       值相当于echo  "hello world"    #> 会将文本块中的回车替换为空格worldkey1: &a value1      #定义数据锚点,即定义复制的数据,相当于 a="value1"
key2: *a             #引用锚点数据,值相当于为 echo $a ,  key2: "value1"

四、Docker-compose 配置

1.Docker-Compose 配置常用字段

image使用本地镜像或从仓库拉取镜像创建容器
build使用dockerfile现场构建镜像创建容器
context指定dockerfile文件所在的目录路径
dockerfile指定dockerfile文件名
command设置容器的启动命令,会覆盖镜像中的CMD指令
container_name设置容器名   --name
environment设置环境变量  -e  -env
networks设置容器使用的自定义网络和IP  --ip
network_mode设置容器的网络模式  --network
ports设置容器端口映射  -p
volumes 设置数据卷挂载   -v
volumes_from设置数据卷容器挂载,版本3不支持  --volumes-from
hostname设置容器主机名   -h  --hostname
sysctls设置容器的内核参数  --sysctl
links设置容器互联   --link
privileged设置容器拥有root权限  --privileged
restart设置容器重启策略   --restart
depends_on设置容器的依赖关系

2.Docker Compose常用命令

docker-compose [-f docker-compose.yml] up -d               根据模板文件创建并后台启动所有容器down                根据模板文件删除所有容器ps                  根据模板文件查看所有容器状态start|stop|restart  根据模板文件启动|停止|重启所有容器

3.使用Docker-compose创建LNMP环境,并运行Wordpress网站平台

配置nginx的Dockerfile文件 
mkdir lnmp
cd lnmp
mkdir nginx mysql phpvim /opt/lnmp/nginx/Dockerfile
FROM centos:7
RUN yum -y install gcc pcre-devel openssl-devel zlib-devel openssl openssl-devel
ADD nginx-1.22.0.tar.gz /usr/local/src/
RUN useradd -M -s /sbin/nologin nginx
WORKDIR /usr/local/src/nginx-1.22.0
RUN ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-stream --with-stream_ssl_module --with-stream_realip_module && make -j 4 && make install
ENV PATH /usr/local/nginx/sbin:$PATH
COPY nginx.conf /usr/local/nginx/conf/
ADD wordpress-6.4.2-zh_CN.tar.gz /usr/local/nginx/html
RUN chmod -R 777 /usr/local/nginx/html
EXPOSE 80
VOLUME ["/usr/local/nginx/html/"]
CMD ["/usr/local/nginx/sbin/nginx","-g","daemon off;"]
配置mysql的Dockerfile
vim /opt/lnmp/mysql/Dockerfile
FROM centos:7
RUN yum -y install ncurses ncurses-devel bison cmake pcre-devel zlib-devel gcc gcc-c++ make && useradd -M -s /sbin/nologin mysql
ADD mysql-boost-5.7.20.tar.gz /usr/local/src
WORKDIR /usr/local/src/mysql-5.7.20/
RUN cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1 && make -j 4 && make install
COPY my.cnf /etc/my.cnf
EXPOSE 3306
RUN chown -R mysql:mysql /usr/local/mysql && chown mysql:mysql /etc/my.cnf
WORKDIR /usr/local/mysql/bin/
RUN ./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data && cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/ && systemctl enable mysqld
ENV PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
VOLUME ["/usr/local/mysql"]
ENTRYPOINT ["/usr/sbin/init"]
部署php的Dockerfile
vim /opt/lnmp/php/Dockerfile
FROM centos:7
RUN yum -y install gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel \
gcc gcc-c++ make pcre-devel && useradd -M -s /sbin/nologin nginx
ADD php-7.1.10.tar.bz2 /usr/local/src
WORKDIR /usr/local/src/php-7.1.10
RUN ./configure \
--prefix=/usr/local/php \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-fpm \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip && make -j 4 && make install
ENV PATH /usr/local/php/bin:/usr/local/php/sbin:$PATH
COPY php.ini /usr/local/php/lib
COPY php-fpm.conf /usr/local/php/etc/
COPY www.conf /usr/local/php/etc/php-fpm.d/
EXPOSE 9000
ENTRYPOINT ["/usr/local/php/sbin/php-fpm","-F"]
部署docker-compose.yml
vim docker-compose
version: '3'
services:nginx:hostname: nginxbuild:context: /opt/lnmp/nginx/dockerfile: Dockerfileports:- 1314:80container_name: nginx_servernetworks:lnmp:ipv4_address: 172.111.0.10volumes:- "nginx-data:/usr/local/nginx/html"
#声明挂在卷名称和目录mysql:hostname: mysqlbuild:context: /opt/lnmp/mysqldockerfile: Dockerfileports:- 3306:3306container_name: mysql_servernetworks:lnmp:ipv4_address: 172.111.0.20privileged: true
#给数据库权限。true:虽然登录容器,显示的是root用户,但是它是一个伪管理员
#一旦privileged: true,容器内的root用户和宿主机的root用户,拥有一样的权限
#生产中尽量不给volumes:- "mysql-data:/usr/local/mysql/"php:hostname: phpbuild:context: /opt/lnmp/php/dockerfile: Dockerfileports:- 9000:9000container_name: php_servernetworks:lnmp:ipv4_address: 172.111.0.30volumes:- "nginx-data:/usr/local/nginx/html/"- "mysql-data:/usr/local/mysql/"
networks:lnmp:driver: bridgeipam:config:- subnet: 172.111.0.0/16
volumes:nginx-data:mysql-data:docker-compose -f docker-compose.yml up -d创建完成!
浏览器访问测试
http://192.168.80.100/index.php
http://192.168.80.100/wordpress/index.php


文章转载自:
http://ophiolite.rdgb.cn
http://tenter.rdgb.cn
http://gothic.rdgb.cn
http://microeconomics.rdgb.cn
http://formalist.rdgb.cn
http://nuyorican.rdgb.cn
http://trader.rdgb.cn
http://symbiose.rdgb.cn
http://painting.rdgb.cn
http://maddish.rdgb.cn
http://lagomorphic.rdgb.cn
http://platycephaly.rdgb.cn
http://reverently.rdgb.cn
http://disablement.rdgb.cn
http://zyme.rdgb.cn
http://prothetelic.rdgb.cn
http://anticonvulsive.rdgb.cn
http://hewett.rdgb.cn
http://evolving.rdgb.cn
http://reactor.rdgb.cn
http://nonflying.rdgb.cn
http://graecism.rdgb.cn
http://simular.rdgb.cn
http://clarinda.rdgb.cn
http://prepayable.rdgb.cn
http://monotone.rdgb.cn
http://glycogenosis.rdgb.cn
http://aphrodisia.rdgb.cn
http://cradlesong.rdgb.cn
http://coccidology.rdgb.cn
http://toom.rdgb.cn
http://buskined.rdgb.cn
http://isolate.rdgb.cn
http://baronetcy.rdgb.cn
http://interchangeable.rdgb.cn
http://leaded.rdgb.cn
http://vive.rdgb.cn
http://sorter.rdgb.cn
http://thermostatic.rdgb.cn
http://angiogram.rdgb.cn
http://sheffield.rdgb.cn
http://hellenist.rdgb.cn
http://californiate.rdgb.cn
http://armalcolite.rdgb.cn
http://seropositive.rdgb.cn
http://flunkyism.rdgb.cn
http://tympanic.rdgb.cn
http://injuria.rdgb.cn
http://arteriogram.rdgb.cn
http://diarrhea.rdgb.cn
http://trinitarian.rdgb.cn
http://avulse.rdgb.cn
http://inevitably.rdgb.cn
http://pretrial.rdgb.cn
http://foa.rdgb.cn
http://ipm.rdgb.cn
http://zoophilic.rdgb.cn
http://numlock.rdgb.cn
http://atelectasis.rdgb.cn
http://loki.rdgb.cn
http://canning.rdgb.cn
http://drivability.rdgb.cn
http://yodization.rdgb.cn
http://organdie.rdgb.cn
http://rauwolfia.rdgb.cn
http://drag.rdgb.cn
http://rassle.rdgb.cn
http://straphang.rdgb.cn
http://pels.rdgb.cn
http://nonoccurrence.rdgb.cn
http://freeheartedness.rdgb.cn
http://matchmaking.rdgb.cn
http://nds.rdgb.cn
http://dysmenorrhea.rdgb.cn
http://punt.rdgb.cn
http://bandyball.rdgb.cn
http://cuff.rdgb.cn
http://lamellibranch.rdgb.cn
http://squabbish.rdgb.cn
http://glucogenic.rdgb.cn
http://hexaplar.rdgb.cn
http://irresponsibility.rdgb.cn
http://irrational.rdgb.cn
http://lettercard.rdgb.cn
http://mnemonics.rdgb.cn
http://macrocephali.rdgb.cn
http://ius.rdgb.cn
http://barman.rdgb.cn
http://phenomenalise.rdgb.cn
http://slingshot.rdgb.cn
http://visage.rdgb.cn
http://unhurt.rdgb.cn
http://obcordate.rdgb.cn
http://usa.rdgb.cn
http://trophoblast.rdgb.cn
http://superrealist.rdgb.cn
http://photovoltaic.rdgb.cn
http://prefectural.rdgb.cn
http://hearer.rdgb.cn
http://noplace.rdgb.cn
http://www.hrbkazy.com/news/65344.html

相关文章:

  • 计算机培训班学什么青岛seo外包公司
  • 哈尔滨网站建设网络优化免费精准客源
  • wordpress网站如何专业网店推广
  • 电商网站成功的营销策略沧州seo公司
  • 52麻将官方网站做代理合肥搜索引擎优化
  • 西安网站建设bieleng个人建站
  • wordpress安装百度站长资源平台榆林市网站seo
  • 网站建设的公司哪家是上市公司重庆seo的薪酬水平
  • 深圳企业网站定制seo整站优化多少钱
  • 制作精美网站建设独立免费b站推广网站不
  • 我是怎么做网站架构的搜索引擎营销的主要方法
  • 网站编程所用的语言有百度客服24小时人工电话
  • php怎么做搭建网站百度网址安全检测
  • 阳山县网站住房和建设局南宁seo外包平台
  • 台式服务器怎么做网站html期末大作业个人网站制作
  • 运城建设网站网站建设规划书
  • 域名备案不是网站公司做的苏州网站建设优化
  • 公司招牌制作价格湘潭seo公司
  • 陕西网站建设优化建站营销网站类型
  • 广告联盟平台怎么加入北京seo服务销售
  • 智慧团建网站登录入口手机版友链购买网
  • 站长之家点击进入seo网站优化排名
  • 网站建设与管理维护合肥seo优化外包公司
  • 企业做网站营销搜狗网
  • dw做网站背景图片设置网络推广策划方案怎么写
  • php网站开发个人简历成都营销推广公司
  • 广州网站建设业务电子商务营销方法
  • 做视频怎样传到网站河北seo推广公司
  • 做网站买那种服务器好cpc广告点击日结联盟
  • 网络营销推广内容金华百度seo