使用docker-compose如何做nginx服務(wù)
前言
Docker Compose 可以輕松、高效的管理容器,它是一個(gè)用于定義和運(yùn)行多容器 Docker 的應(yīng)用程序工具.
除了docker Compose還有一個(gè)技術(shù)k8s也能實(shí)現(xiàn)快速的部署。
可以一鍵啟動(dòng),一鍵停止,非常方便
一.上傳nginx配置文件
cd /home 存放軟件或者配置文件的位置
mkdir nginx 建立個(gè)文件夾專門放nginx的文件

cd nginx 進(jìn)入文件夾上傳配置文件
我用的連接工具可以直接移進(jìn)去,你們可以用rz上傳,如果rz報(bào)錯(cuò)的話,可以去網(wǎng)上搜索下載一下rz的命令

二.docker-compose安裝與配置
1.上傳文件
安裝包剛下載過來是docker-compose-Linux-x86_64
需要將docker-compose-Linux-x86_64重命名為docker-compose
將docker-compose文件上傳到虛擬機(jī)的/usr/local/bin/目錄下
cd /usr/local/bin

2.添加可執(zhí)行權(quán)限
chmod +x /usr/local/bin/docker-compose
3.創(chuàng)建并編輯yml文件
touch docker-compose.yml

vi docker-compose.yml 進(jìn)入文件把以下內(nèi)容復(fù)制進(jìn)去:
version: '3'
services:
nginx01:
container_name: nginx01
image: nginx
ports:
- 9998:80
volumes:
- /home/nginx/html:/etc/nginx/html
- /home/nginx/conf.d:/etc/nginx/conf.d
- /home/nginx/log:/var/log/nginx
restart: always
nginx02:
container_name: nginx02
image: nginx
ports:
- 9999:80
volumes:
- /home/nginx/html:/etc/nginx/html
- /home/nginx/conf.d:/etc/nginx/conf.d
- /home/nginx/log:/var/log/nginx
restart: always4.nginx前置操作
記得關(guān)閉防火墻或者開放端口
firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload firewall-cmd --query-port=80/tcp
5.啟動(dòng)docker-compose
docker-compose up -d
加了 -d 就是后臺(tái)運(yùn)行

啟動(dòng)兩臺(tái)服務(wù)
6.訪問nginx
- 9998端口

- 9999端口

除此之外我們還可以添加自定義網(wǎng)絡(luò)
6.添加自定義網(wǎng)絡(luò)
networks:
net01:
driver: bridge
ipam:
config:
- subnet: 192.168.101.0/24
gateway: 192.168.101.1
net02:
driver: bridge
ipam:
config:
- subnet: 192.168.102.0/24
gateway: 192.168.102.1添加之后,docker-compose.yml文件內(nèi)容如下:
version: '3'
services:
nginx01:
container_name: nginx01
image: nginx
ports:
- 9998:80
volumes:
- /home/nginx/html:/etc/nginx/html
- /home/nginx/conf.d:/etc/nginx/conf.d
- /home/nginx/log:/var/log/nginx
restart: always
networks:
- net01
nginx02:
container_name: nginx02
image: nginx
ports:
- 9999:80
volumes:
- /home/nginx/html:/etc/nginx/html
- /home/nginx/conf.d:/etc/nginx/conf.d
- /home/nginx/log:/var/log/nginx
restart: always
networks:
- net01
- net02
networks:
net01:
driver: bridge
ipam:
config:
- subnet: 192.168.101.0/24
gateway: 192.168.101.1
net02:
driver: bridge
ipam:
config:
- subnet: 192.168.102.0/24
gateway: 192.168.102.1可以同時(shí)指定一個(gè)容器使用多個(gè)網(wǎng)絡(luò)
networks:
- net01
- net02修改完yml文件之后還可以輸入 docker-compose config -q 做一下文件的校驗(yàn), 執(zhí)行之后沒有報(bào)錯(cuò)就說明yml文件時(shí),沒有問題的!
![]()
7.刪除服務(wù)并重新執(zhí)行
執(zhí)行docker-compose down 刪除之前開啟的服務(wù)

執(zhí)行docker-compose up -d啟動(dòng)

啟動(dòng)之后還可以執(zhí)行 docker network ls 查看網(wǎng)絡(luò),docker-compose幫你自動(dòng)創(chuàng)建了兩個(gè)自定義網(wǎng)絡(luò)

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解docker國(guó)內(nèi)鏡像拉取和鏡像加速registry-mirrors配置修改
由于國(guó)內(nèi)訪問直接訪問Docker hub網(wǎng)速比較慢,拉取鏡像的時(shí)間就會(huì)比較長(zhǎng)。一般我們會(huì)使用鏡像加速或者直接從國(guó)內(nèi)的一些平臺(tái)鏡像倉庫上拉取2017-05-05

