使用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è)文件夾專(zhuān)門(mén)放nginx的文件
cd nginx 進(jìn)入文件夾上傳配置文件
我用的連接工具可以直接移進(jìn)去,你們可以用rz上傳,如果rz報(bào)錯(cuò)的話,可以去網(wǎng)上搜索下載一下rz的命令
二.docker-compose安裝與配置
1.上傳文件
安裝包剛下載過(guò)來(lái)是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: always
4.nginx前置操作
記得關(guān)閉防火墻或者開(kāi)放端口
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.訪問(wèn)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í)行之后沒(méi)有報(bào)錯(cuò)就說(shuō)明yml文件時(shí),沒(méi)有問(wèn)題的!
7.刪除服務(wù)并重新執(zhí)行
執(zhí)行docker-compose down 刪除之前開(kāi)啟的服務(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的構(gòu)建時(shí)間減少40%(推薦)
這篇文章主要介紹了如何將Docker的構(gòu)建時(shí)間減少40%,本文描述了我們?cè)趦?yōu)化CI管道后獲得的一些新見(jiàn)解,需要的朋友可以參考下2023-11-11Docker出現(xiàn)tag顯示none鏡像的處理方案
本文介紹了Docker中出現(xiàn)REPOSITORY和TAG都顯示為<none>的鏡像,即懸掛鏡像的原因,并提供了解決方法,包括查找和刪除懸掛鏡像,以及為它們指定新的標(biāo)簽2025-02-02Docker 中的 bootfs、rootfs 簡(jiǎn)介
Docker中的bootfs和rootfs是容器文件系統(tǒng)的兩個(gè)層次,bootfs負(fù)責(zé)內(nèi)核啟動(dòng),而rootfs提供運(yùn)行環(huán)境,容器共享宿主機(jī)內(nèi)核,因此沒(méi)有獨(dú)立的bootfs,只使用精簡(jiǎn)的rootfs,感興趣的朋友跟隨小編一起看看吧2024-12-12Docker容器處于Removal in process無(wú)法刪除問(wèn)題及解決
這篇文章主要介紹了Docker容器處于Removal in process無(wú)法刪除問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。2023-07-07docker將鏡像打包為.tar包實(shí)現(xiàn)方法
使用tar包格式進(jìn)行壓縮,方便在不同的docker主機(jī)之間進(jìn)行遷移和備份,下面這篇文章主要給大家介紹了關(guān)于docker將鏡像打包為.tar包的實(shí)現(xiàn)方法,需要的朋友可以參考下2024-07-07Docker命令行入門(mén)大全(這18條,你不得不知)
Docker有成千上百萬(wàn)的命令行。因此Docker文檔內(nèi)容十分豐富,同時(shí)又讓剛?cè)腴T(mén)的新手感到不知所措。在本文中,我將重點(diǎn)介紹運(yùn)行Docker的關(guān)鍵命令。2019-09-09docker安裝Jenkins配置Gitee SSH密鑰踩坑解決
這篇文章主要為大家介紹了docker安裝Jenkins配置Gitee SSH密鑰踩坑解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08