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

cd nginx 進(jìn)入文件夾上傳配置文件
我用的連接工具可以直接移進(jìn)去,你們可以用rz上傳,如果rz報錯的話,可以去網(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.啟動docker-compose
docker-compose up -d
加了 -d 就是后臺運(yùn)行

啟動兩臺服務(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可以同時指定一個容器使用多個網(wǎng)絡(luò)
networks:
- net01
- net02修改完yml文件之后還可以輸入 docker-compose config -q 做一下文件的校驗, 執(zhí)行之后沒有報錯就說明yml文件時,沒有問題的!
![]()
7.刪除服務(wù)并重新執(zhí)行
執(zhí)行docker-compose down 刪除之前開啟的服務(wù)

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

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

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

