docker-compose簡(jiǎn)單使用方法詳解
Compose介紹
Docker Compose是一個(gè)用來定義和運(yùn)行復(fù)雜應(yīng)用的Docker工具。一個(gè)使用Docker容器的應(yīng)用,通常由多個(gè)容器組成。使用Docker Compose不再需要使用shell腳本來啟動(dòng)容器。
Compose 通過一個(gè)配置文件來管理多個(gè)Docker容器,在配置文件中,所有的容器通過services來定義,然后使用docker-compose腳本來啟動(dòng),停止和重啟應(yīng)用,和應(yīng)用中的服務(wù)以及所有依賴服務(wù)的容器,非常適合組合使用多個(gè)容器進(jìn)行開發(fā)的場(chǎng)景。
一、前置條件
1.安裝 docker-compose ,可以參考這篇文章 http://www.dhdzp.com/article/203802.htm
二、使用方法
1.目錄結(jié)構(gòu)
|--mysite # 根目錄 |----docker-compose.yml # 用于部署上線 |----Dockerfile # 用于打包鏡像 |----server.py # 測(cè)試服務(wù)
2.創(chuàng)建測(cè)試服務(wù)【server.py】
from fastapi import FastAPI
# 創(chuàng)建服務(wù)對(duì)象
app = FastAPI()
# get --------------------------------
@app.get("/")
async def hello():
return "hello docker-compose"
# ------------------------------------
if __name__ == '__main__':
import uvicorn
uvicorn.run(app="server:app", host="0.0.0.0", port=2333, reload=True)ps:一個(gè)fastapi服務(wù),訪問 ip:2333 會(huì)返回 “hello docker-compose”
3.創(chuàng)建 docker 打包文件【Dockerfile】
FROM python:3.7 MAINTAINER ps WORKDIR /mysite ADD . /mysite EXPOSE 2333 RUN python -m pip install -U pip RUN pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ RUN pip install uvicorn fastapi CMD python server.py
ps:
- FROM :基礎(chǔ)鏡像
- MAINTAINER :指明作者
- WORKDIR /mysite :指明工作目錄為容器中的 /mysite 目錄
- ADD . /mysite :當(dāng)前路徑所有文件復(fù)制到容器的 /mysite 目錄下
- EXPOSE 2333 :指明容器中暴露的端口為 2333【此處可省,后面在docker-compose.yml配置了】
- RUN :run的三行分別是更新pip、換源、安裝 fastapi 依賴包
- CMD :服務(wù)啟動(dòng)命令
4.創(chuàng)建 compose 部署文件【docker-compose.yml】
version: '3.5'
services:
mysite:
image: mysite_image:0.0.1
container_name: mysite_container
build: ./
restart: always
ports:
- "2333:2333"ps:
- version: ‘3.5’ :指定當(dāng)前的 compose 版本【compose 版本可以通過 docker-compose --version 命令查看】
- services :指定部署哪些服務(wù)
- mysite :如果不指定下面的 image 參數(shù)的話,打包后的鏡像名會(huì)以 當(dāng)前文件夾名+下劃線+你配置的名稱 組合,作為你的鏡像名【比如:此處我如果沒指定下面的 image 參數(shù)的話,我的鏡像名就是 文件夾名+下劃線+配置名 == mysite_mysite】如果指定了 image 參數(shù)的話,那么這里的名字可以隨便寫,相當(dāng)于站位符,沒啥用了
- image: mysite_image:0.0.1 :指定鏡像名為 mysite_image 版本號(hào)為 0.0.1
- container_name: mysite-container :指定啟動(dòng)后的容器名為 mysite-container
- build ./ :在當(dāng)前路徑下找 Dockerfile 文件
- restart: always :開機(jī)自啟
- ports :端口映射
5.啟動(dòng)容器
docker-compose up -d
ps:
- -d :后臺(tái)運(yùn)行
- 首次執(zhí)行時(shí)會(huì)先打包鏡像,在從該鏡像啟動(dòng)容器,后續(xù)運(yùn)行則會(huì)直接從已存在的鏡像啟動(dòng)
6.查看容器
1.docker ps 查看,如果找不到的話可能啟動(dòng)失敗了,試試 docker ps -a 查看全部容器【包括啟動(dòng)成功和失敗的所有容器】
三、測(cè)試
訪問 ip:2333

到此這篇關(guān)于docker-compose簡(jiǎn)單使用方法的文章就介紹到這了,更多相關(guān)docker compose使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Dockerfile建立一個(gè)自定義的鏡像執(zhí)行自定義進(jìn)程詳細(xì)過程
這篇文章主要介紹了Dockerfile建立一個(gè)自定義的鏡像執(zhí)行自定義進(jìn)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12
docker中psql數(shù)據(jù)庫(kù)備份與恢復(fù)詳解
在本篇文章里小編給大家整理的是關(guān)于docker中psql數(shù)據(jù)庫(kù)基本操作內(nèi)容,需要的朋友們可以學(xué)習(xí)參考下。2020-02-02
詳解使用docker 1.12 搭建多主機(jī)docker swarm集群
本篇文章主要介紹了使用docker 1.12 搭建多主機(jī)docker swarm集群,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
Docker安裝oracle數(shù)據(jù)庫(kù)最新版教程
這篇文章主要介紹了如何在Docker中安裝和配置Oracle?11g數(shù)據(jù)庫(kù),包括安裝Docker、拉取Oracle鏡像、創(chuàng)建容器、進(jìn)入容器配置、設(shè)置環(huán)境變量、創(chuàng)建軟連接、修改用戶密碼、重啟數(shù)據(jù)庫(kù)以及使用Navicat進(jìn)行連接測(cè)試,需要的朋友可以參考下2025-02-02
詳解基于docker 如何部署surging分布式微服務(wù)引擎
這篇文章主要介紹了詳解基于docker 如何部署surging分布式微服務(wù)引擎,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-06-06
docker之點(diǎn)到點(diǎn)的容器網(wǎng)絡(luò)的配置
本篇文章主要介紹了docker之點(diǎn)到點(diǎn)的容器網(wǎng)絡(luò)的配置,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03
Linux下docker 容器退出bash的兩種實(shí)現(xiàn)方法
這篇文章主要介紹了Linux下docker 容器退出bash的兩種實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-11-11
docker創(chuàng)建鏡像并上傳云端服務(wù)器的實(shí)現(xiàn)示例
鏡像是一種輕量級(jí)、可執(zhí)行的獨(dú)立軟件包,用來打包軟件運(yùn)行環(huán)境和基于運(yùn)行環(huán)境開發(fā)的軟件,本文介紹了如何使用Docker創(chuàng)建鏡像,并將其上傳到云端,感興趣的可以了解一下2023-08-08
docker運(yùn)行nginx容器并掛載數(shù)據(jù)卷
本文主要介紹了docker運(yùn)行nginx容器,并通過掛載目錄將容器與宿主機(jī)的數(shù)據(jù)進(jìn)行共享和統(tǒng)一管理,具有一定的參考價(jià)值,感興趣的可以了解一下2025-03-03

