国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Docker從入門(mén)到入土 5】 使用Docker-compose一鍵部署Wordpress平臺(tái)

這篇具有很好參考價(jià)值的文章主要介紹了【Docker從入門(mén)到入土 5】 使用Docker-compose一鍵部署Wordpress平臺(tái)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、YAML 文件格式及編寫(xiě)注意事項(xiàng)(重要)

1.1 簡(jiǎn)介

docker-compose wordpress,Docker,1024程序員節(jié),docker,容器,運(yùn)維,網(wǎng)絡(luò)

YAML 是一種標(biāo)記語(yǔ)言,它可以很直觀的展示數(shù)據(jù)序列化格式,可讀性高。

類(lèi)似于 json 數(shù)據(jù)描述語(yǔ)言,語(yǔ)法比 json 簡(jiǎn)單的很多。

YAML 數(shù)據(jù)結(jié)構(gòu)通過(guò)縮進(jìn)來(lái)表示,連續(xù)的項(xiàng)目通過(guò)減號(hào)來(lái)表示,鍵值對(duì)用冒號(hào)分隔,數(shù)組用中括號(hào) [] 括起來(lái), hash 用花括號(hào) {} 括起來(lái)。

1.2 yaml語(yǔ)法特性

語(yǔ)法特點(diǎn)

  • 區(qū)分大小寫(xiě)
  • 通過(guò)空格縮進(jìn)表示層級(jí)關(guān)系
  • 禁止使用tab縮進(jìn),只能使用空格鍵
  • 縮進(jìn)的空格數(shù)目不重要,只要相同層級(jí)左對(duì)齊
  • 使用#表示注釋

數(shù)據(jù)結(jié)構(gòu)

  • 對(duì)象: 鍵值對(duì)的字典
  • 數(shù)組: 一組按次序排列的列表
  • 純量: 單個(gè)的且不可再分的值
# 純量
hello
# 數(shù)組
- Cat
- Dog
- Goldfish
# 對(duì)象
animal: pets

引號(hào)區(qū)別

  • 單引號(hào)(‘’): 特殊字符作為普通字符串處理
  • 雙引號(hào)(“”): 特殊字符作為本身想表示的意思
# 單引號(hào)
name: 'Hi,\nTom'
# 雙引號(hào)
name: "Hi,\nTom"

內(nèi)置類(lèi)型列表

# YAML允許使用個(gè)感嘆號(hào)(!)強(qiáng)制轉(zhuǎn)換數(shù)據(jù)類(lèi)型
# 單嘆號(hào)通常是自定義類(lèi)型,雙嘆號(hào)是內(nèi)置類(lèi)型
money: !!str
123
date: !Boolean
true
對(duì)應(yīng)編號(hào) 內(nèi)置類(lèi)型 解釋說(shuō)明
1 !!int 整數(shù)類(lèi)型
2 !!float 浮點(diǎn)類(lèi)型
3 !!bool 布爾類(lèi)型
4 !!str 字符串類(lèi)型
5 !!null 空值
6 !!set 集合
7 !!seq 列表
8 !!map 鍵值表
9 !!binary 字符串類(lèi)型
10 !!timestamp 日期時(shí)間類(lèi)型
11 !!omap/!!pairs 鍵值列表

1.3 yaml文件格式

文件名格式以 .yml 或者.yaml 為后綴,用 空格縮進(jìn)表示字段的層級(jí)關(guān)系,可讀性高,易于人類(lèi)管理。

一個(gè)字段key有多個(gè)值的表達(dá)式
橫向?qū)懛ǎ?test: ["test1", "test2", "test3"]

縱向?qū)懛ǎ?ntest:
- "test1"
- "test2"
- "test3"
#多級(jí)字段的格式
頂級(jí)/一級(jí)字段:
    二級(jí)字段1: ["值1", "值2"]
    二級(jí)字段2: 
	    三級(jí)字段: 值     對(duì)象object類(lèi)型
value:            value: 相當(dāng)于echo helloworld!
  hello
  world!

value: |          value: 相當(dāng)于echo -e "hello\nworld!"
  hello
  world!

value: |-         value: 相當(dāng)于echo -n helloworld!
  hello
  world!
  
value: |+         value: 相當(dāng)于echo -e "hello\nworld!\n"
  hello
  world!

value: >          value: 相當(dāng)于echo "hello world!"
  hello
  world!
  
name: &a zhangsan     相當(dāng)于 a=yaml
book: *a              相當(dāng)于 echo $a , book: zhangsan

1.4 json格式簡(jiǎn)介

json格式:文件名格式以 .json 為后綴,用 {} 表示字段的層級(jí)關(guān)系,程序接口解析效率高。

{ "字段": "值"}
{ "debug": true }          布爾值類(lèi)型
{ "ylc": "dashuaige" }     字符串類(lèi)型

{
  "ky31": ["ylc", "shellking", "caoye"],
  "ky32": ["zhangsan", 
           "lisi", 
		   "wangwu"]
}


{
  "websites": {                      一級(jí)字段
    "memory": "512M",                二級(jí)字段
	"disk": "100G",
    "cpu": {                         三級(jí)字段
	  "name": ["inter", "amd"]
	}
  }
}

二、Docker-compose

2.1 簡(jiǎn)介

docker-compose 是實(shí)現(xiàn)在單機(jī)上對(duì)容器集群編排管理的工具。

docker-compose是基于python開(kāi)發(fā)的,能運(yùn)行docker的平臺(tái),都能用docker-compose編排管理容器。

本質(zhì)就是在yaml格式的docker-compose配置模板文件里定義多個(gè)容器的啟動(dòng)參數(shù)和依賴(lài)關(guān)系,并使用docker-compose根據(jù)這個(gè)模板文件的配置啟動(dòng)和管理容器集群。

Dockerfile 文件  -->  docker build 一個(gè)個(gè)構(gòu)建鏡像  -->  docker run 一個(gè)個(gè)創(chuàng)建并啟動(dòng)容器

Dockerfile 文件  -->  docker-compose 自動(dòng)完成所有的鏡像的構(gòu)建和容器的創(chuàng)建、啟動(dòng)

2.2 docker-compose的三大概念

項(xiàng)目project -> 包含一個(gè)或多個(gè)服務(wù)service -> 包含一個(gè)或多個(gè)容器的鏡像、映射端口、環(huán)境變量等啟動(dòng)參數(shù)

1)默認(rèn)使用項(xiàng)目的目錄名做project項(xiàng)目名,支持使用 -p--project-name 來(lái)指定項(xiàng)目名;

2)在項(xiàng)目目錄里要包含一個(gè) docker-compose 配置模板文件,默認(rèn)為 docker-compose.yml,支持使用 -f--file 來(lái)指定項(xiàng)目的配置模板文件;

3)在配置模板文件里要包含一個(gè)或者多個(gè)服務(wù),每個(gè)服務(wù)包含啟動(dòng)容器的名稱(chēng)、鏡像、映射端口、環(huán)境變量、掛載點(diǎn)、網(wǎng)絡(luò)模式、依賴(lài)關(guān)系等容器啟動(dòng)的配置參數(shù)。

2.3 docker-compose配置模板文件常用的字段

字段 用法 描述
image 現(xiàn)成的鏡像:標(biāo)簽 指定鏡像
build 指定 Dockerfile 文件名
command 容器啟動(dòng)命令 執(zhí)行命令,覆蓋容器啟動(dòng)后默認(rèn)執(zhí)行的命令
container_name –name 指定容器名稱(chēng),由于容器名稱(chēng)是唯一的,如果指定自定義名稱(chēng),則無(wú)法scale指定容器數(shù)量
environment -e,-env 添加環(huán)境變量
networks –net,–network 加入網(wǎng)絡(luò),引用頂級(jí)networks下條目
ports -p 暴露容器端口,與 -p 相同,但端口不能低于 60
volumes -v 掛載一個(gè)宿主機(jī)目錄或命令卷到容器,命名卷要在頂級(jí) volumes 定義卷名稱(chēng)
volumes_from –volumes-from,僅版本2支持,版本3 ,使用頂級(jí)卷進(jìn)行共享 從另一個(gè)服務(wù)或容器掛載卷,可選參數(shù) :ro 和 :rw
hostname -h,–hostname 容器主機(jī)名
sysctls –sysctl 在容器內(nèi)設(shè)置內(nèi)核參數(shù)
links –link 連接到另外一個(gè)容器,- 服務(wù)名稱(chēng)[:服務(wù)別名]
privileged –privileged 用來(lái)給容器root權(quán)限,注意是不安全的,true | false
restart –restart 重啟策略
depends_on 定義服務(wù)之間依賴(lài)關(guān)系
depends_on: 
  - php
  - nginx

2.4 docker-compose 常用命令

docker-compose -f docker-compose.yml <command> -d

-f, --file FILE :使用特定的 compose 模板文件,默認(rèn)為 docker-compose.yml
-p, --project-name NAME :指定項(xiàng)目名稱(chēng),默認(rèn)使用目錄名稱(chēng)
-d :在后臺(tái)運(yùn)行
command 功能
build 重新構(gòu)建服務(wù)
ps 列出容器
up 創(chuàng)建和啟動(dòng)容器
exec 在容器里面執(zhí)行命令
scale 指定一個(gè)服務(wù)容器啟動(dòng)數(shù)量
top 顯示容器進(jìn)程
logs 查看容器輸出
down 刪除容器、網(wǎng)絡(luò)、數(shù)據(jù)卷和鏡像
stop/start/restart 停止/啟動(dòng)/重啟容器

三、部署docker-compose

3.1 安裝docker-compose

#下載
curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
#安裝
chmod +x /usr/local/bin/docker-compose

#查看版本
docker-compose --version

docker-compose wordpress,Docker,1024程序員節(jié),docker,容器,運(yùn)維,網(wǎng)絡(luò)

3.2 創(chuàng)建工作目錄,編寫(xiě)相關(guān)Dockerfile文件

1.創(chuàng)建工作目錄

mkdir /opt/compose_lnmp
cd /opt/compose_lnmp

mkdir nginx mysql php

2.編寫(xiě)創(chuàng)建nginx、mysql、php的鏡像的Dockerfile文件

詳見(jiàn)我的上一篇博客 【Dockerfile鏡像實(shí)戰(zhàn)】構(gòu)建LNMP環(huán)境并運(yùn)行Wordpress網(wǎng)站平臺(tái)

3.3 編寫(xiě)配置文件docker-compose.yml

編寫(xiě)配置文件docker-compose.yml
使用現(xiàn)有的鏡像創(chuàng)建容器(本地/倉(cāng)庫(kù)) images: name:tag
或者現(xiàn)場(chǎng)構(gòu)建,基于Dockerfile
相對(duì)于配置模板所在的目錄

cd /opt/compose_lnmp

#本次nginx使用現(xiàn)場(chǎng)構(gòu)建,php和mysql使用本地鏡像
vim docker-compose.yml
version: '3'
services:
  nginx:
    build:
      context: ./nginx
      dockerfile: Dockerfile
    container_name: nginx
    ports:
    - 80:80
    - 443:443
    volumes:
    - ./nginx/html/:/usr/local/nginx/html/
    - ./nginx/nginx.conf:/usr/local/nginx/conf/nginx.conf
    networks:
      lnmp:
        ipv4_address: 172.18.0.10
  
  mysql:
    image: mysql:lnmp
    container_name: mysql
    privileged: true
    volumes:
    - db-dir:/usr/local/mysql/
    networks: 
      lnmp:
        ipv4_address: 172.18.0.20
  
  php:
    image: php:lnmp
    container_name: php
    ports:
    - 9000:9000
    volumes:
    - db-dir:/usr/local/mysql/
    - ./nginx/html/:/usr/local/nginx/html/
    networks: 
      lnmp:
        ipv4_address: 172.18.0.30
    depends_on:
       - nginx
       - mysql

networks: 
  lnmp:
    driver: bridge
    ipam:
      config:
        - subnet: 172.18.0.0/16
volumes:
  db-dir:

3.4 根據(jù)配置文件創(chuàng)建和啟動(dòng)容器

docker-compose -f docker-compose.yml up -d

docker-compose wordpress,Docker,1024程序員節(jié),docker,容器,運(yùn)維,網(wǎng)絡(luò)

3.5 登錄容器,進(jìn)行相關(guān)操作

登錄到Mysql容器

docker exec -it mysql /bin/bash -c "mysql"

docker-compose wordpress,Docker,1024程序員節(jié),docker,容器,運(yùn)維,網(wǎng)絡(luò)

create database wordpress;

grant all privileges on wordpress.* to 'wordpress'@'%' identified by '123456';
grant all privileges on *.* to 'root'@'%' identified by 'abc123';
flush privileges;

docker-compose wordpress,Docker,1024程序員節(jié),docker,容器,運(yùn)維,網(wǎng)絡(luò)

登錄到nginx容器

docker exec -it nginx /bin/bash
cd /usr/local/nginx
#修改html目錄的屬主
chown nginx html 

docker-compose wordpress,Docker,1024程序員節(jié),docker,容器,運(yùn)維,網(wǎng)絡(luò)

3.6 訪問(wèn)宿主機(jī)IP,安裝Wordpress

瀏覽器訪問(wèn) 

http://192.168.2.106/wordpress/index.php

docker-compose wordpress,Docker,1024程序員節(jié),docker,容器,運(yùn)維,網(wǎng)絡(luò)

密碼:M4VysV#@3b^DLa5kU$
docker-compose wordpress,Docker,1024程序員節(jié),docker,容器,運(yùn)維,網(wǎng)絡(luò)
docker-compose wordpress,Docker,1024程序員節(jié),docker,容器,運(yùn)維,網(wǎng)絡(luò)

docker-compose wordpress,Docker,1024程序員節(jié),docker,容器,運(yùn)維,網(wǎng)絡(luò)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-768778.html

到了這里,關(guān)于【Docker從入門(mén)到入土 5】 使用Docker-compose一鍵部署Wordpress平臺(tái)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 使用 docker-compose 部署 Jenkins

    使用 docker-compose 部署 Jenkins

    注:我是在虛擬機(jī)(Ubuntu)上部署了 docker-compose,然后才使用 docker-compose 部署 Jenkins! 關(guān)于如何在 Ubuntu 部署 docker-compose,可以看我其它的文章。 docker_jenkins_compose 目錄下創(chuàng)建 docker-compose.yml 文件: 進(jìn)入 docker-compose.yml 文件: 按下鍵盤(pán)上的 i ,進(jìn)入可以編寫(xiě)的模式。 將下面的

    2024年02月17日
    瀏覽(25)
  • 一鍵卸載docker、docker-compose

    1、創(chuàng)建卸載文件:?docker-uninstall.sh ??docker-uninstall.sh 2、vim ?docker-uninstall.sh,輸入以下內(nèi)容 # 卸載舊版本的Docker yum remove docker ? ? ? ? ? ? ? ? ? docker-client ? ? ? ? ? ? ? ? ? docker-client-latest ? ? ? ? ? ? ? ? ? docker-common ? ? ? ? ? ? ? ? ? docker-latest ? ? ? ? ?

    2024年02月03日
    瀏覽(23)
  • docker部署(使用docker-compose)手把手教程

    docker部署(使用docker-compose)手把手教程

    docker-compose.yml 文件內(nèi)容 ?安裝成功后,運(yùn)行 docker ps 出現(xiàn)如下報(bào)錯(cuò) ?表示未啟動(dòng)docker,運(yùn)行下列語(yǔ)句即可 安裝完成后,運(yùn)行 賦予權(quán)限即可 在服務(wù)器上單獨(dú)新建文件夾名為ruoyi-admin dockerfile文件如下 ?執(zhí)行如下命令 這就構(gòu)建出本地的鏡像了。 ? 依次再構(gòu)建出ruoyi/ruoyi-xxl-job-adm

    2024年02月01日
    瀏覽(29)
  • linux 一鍵安裝docker docker-compose

    2024年02月16日
    瀏覽(33)
  • 使用docker-compose 部署 MySQL(所有版本通用)

    使用docker-compose 部署 MySQL(所有版本通用)

    我這里使用的是MySQL8.0.18,可以自行選擇需要的版本。 這里需要給MySQL做點(diǎn)自定義的配置,比如時(shí)區(qū)字符編碼等。 以交互式命令進(jìn)入容器,也可以使用navicat等客戶(hù)端連接,使用Docker安裝MySQL會(huì)給root用戶(hù)開(kāi)啟遠(yuǎn)程訪問(wèn)。 使用MySQL自帶客戶(hù)端連接工具連接 PS:如果遠(yuǎn)程連接不上可

    2024年02月04日
    瀏覽(22)
  • 一鍵安裝和卸載docker及docker-compose

    一鍵安裝和卸載docker及docker-compose

    代碼: 其中往docker.service寫(xiě)systemd管理的內(nèi)容也可以替換成如下內(nèi)容: 運(yùn)行結(jié)果:

    2024年02月12日
    瀏覽(21)
  • Flink會(huì)話集群docker-compose一鍵安裝

    Flink會(huì)話集群docker-compose一鍵安裝

    參考,本人這篇博客:一鍵安裝docker flink-conf.yaml放在/home/flink/conf/job、/home/flink/conf/task下面,flink-conf.yaml內(nèi)容如下: 使用如下命令部署集群: docker-compose.yaml內(nèi)容如下: 訪問(wèn)地址:http://IP:8081

    2024年02月01日
    瀏覽(18)
  • web3:使用Docker-compose方式部署blockscout

    最近做的項(xiàng)目,需要blockscout來(lái)部署一個(gè)區(qū)塊鏈瀏覽器,至于blockscout是什么,咱們稍后出一篇文章專(zhuān)門(mén)介紹下,本次就先介紹一下如何使用Docker-compose方式部署blockscout,以及過(guò)程中遇到的種種坑

    2024年02月12日
    瀏覽(25)
  • 【微服務(wù)部署】一、使用docker-compose部署Jenkins、SonarQube、PostgreSQL

    【微服務(wù)部署】一、使用docker-compose部署Jenkins、SonarQube、PostgreSQL

    一、安裝 1、編寫(xiě)docker-compose部署Postgres、SonarQube、Jenkins的yml文件jenkins-compose.yml Postgres:作為SonarQube的數(shù)據(jù)庫(kù)存儲(chǔ) SonarQube:代碼質(zhì)量檢查 Jenkins:jenkins/jenkins:lts鏡像,jenkinsci/blueocean鏡像缺少node運(yùn)行時(shí)環(huán)境,導(dǎo)致node無(wú)法運(yùn)行。 關(guān)鍵配置說(shuō)明( 宿主機(jī) : Docker容器): /data/doc

    2024年02月09日
    瀏覽(19)
  • ubuntu使用docker compose一鍵部署項(xiàng)目

    ubuntu使用docker compose一鍵部署項(xiàng)目

    1、將前面手動(dòng)部署的容器和鏡像全部刪除 docker rmi hmall (hmall鏡像名) docker rmi ?image_id rmi 是刪除多個(gè) ?rm是刪除一個(gè) 2、執(zhí)行命令 docker compose up -d ?http://192.168.79.129:18080/search.html?訪問(wèn)安裝成功! 該ip是虛擬機(jī)ubuntu的ip 3、docker-compose.yml 文件 ?4、項(xiàng)目結(jié)構(gòu) mysql文件夾內(nèi)容:

    2024年01月22日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包