摘要:使用構建一個創建一個文件夾創建腳本這個腳本使用了和的包,并且啟動了一個服務端口創建構建的由于在的時候,默認會去官方去獲取,國內是無法訪問的,所以這里使用了的鏡像去下載包。
使用docker-compose構建一個python-web app
創建一個文件夾 python-web-app
$mkdir python-web-app $cd python-web-app
2.創建python腳本 app.py
from flask import Flask from redis import Redis app = Flask(__name__) redis = Redis(host="redis", port=6379) @app.route("/") def hello(): count = redis.incr("hits") return "Hello World! I have been seen {} times. ".format(count) if __name__ == "__main__": app.run(host="0.0.0.0", debug=True)
這個腳本使用了flask和redis的包,并且啟動了一個web服務端口5000
3.創建構建python的Dockerfile
FROM python:3.4-alpine ADD . /code WORKDIR /code RUN pip install -r requirements.txt -i https://pypi.douban.com/simple CMD ["python", "app.py"]
由于在pip install 的時候,pip默認會去官方去獲取,國內是無法訪問的,所以這里使用了douban的鏡像去下載包。
ADD . /code 是把當前目錄下的文件添加到容器內部的/code 目錄下
4.創建docker-compse.yml 文件
version: "2" services: web: build: . ports: - "5000:5000" volumes: - .:/code redis: image: "redis:alpine"
該文件提供了2個服務,第一個是web服務,通過build當前目錄的Dockerfile文件生成,Expose了5000端口。
第二個服務是來自于redis的服務,version表示當前使用的compose文件版本.
5.查看驗證,在準備好文件后,大概是這樣得
6.最后我們通過使用docker-compose構建這yml文件
$docker-compose up
訪問服務5000端口
這個時候,我們可以多刷新幾次,可以發先times會增加,我們的服務運行成功。
我們使用docker ps 可以發現docker-compose幫我們啟動好了2個容器
7.我們通過vim修改宿主機下的app.py文件,由于容器的數據卷是來源,如下效果
8.此時,docker-compose up以后,他未后臺執行,如果我們需要讓他后臺運行,我們需要如下操作
CTRL+C終止進程,
重新以分離的方式啟動服務
$docker-compose up -d
docker ps 和docker-compose ps 查看正在運行服務
9.查看
docker-compose運行命令允許您為您的服務運行一次性命令,比如查看web服務的環境
$docker-compose run web env
但是如果使用docker ps -a就會發現
10.使用docker-compose stop 終止服務
如果你是使用docker-compose up -d 進行的服務啟動,那么你需要通過stop來終止關閉服務
11.最后使用docker-compose down 回收資源
同樣,down指令運行多帶帶的進行一些資源的回收,
$docker-compose down --volumes
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26916.html
摘要:時間年月日星期六說明本文部分內容均來自慕課網。必填用于執行命令,當執行完畢后,將產生一個新的文件層。可選指定此鏡像啟動時默認執行命令。可選用于指定需要暴露的網絡端口號。可選向鏡像中掛載一個卷組。 時間:2017年09月16日星期六說明:本文部分內容均來自慕課網。@慕課網:http://www.imooc.com 教學源碼:無 學習源碼:無 第一章:課程簡介 1-1 課程介紹 Docke...
摘要:的主要作用是自己根據基礎鏡像,重新定制鏡像,而不是直接從官方倉庫拿現成的使用。以接下來要構建的環境來說明下,下面我將要搭建一個的開發環境,需要進行配合。它的主要作用是持久化數據,避免容器銷毀后內部數據丟失暴露到宿主機的端口。 以前一直使用 Vagrant 作為自己的開發環境,并且在上家公司也推行大家采用 Vagrant 作為開發環境,保障公司使用的是同一套開發環境。隨著docker的流...
摘要:的主要作用是自己根據基礎鏡像,重新定制鏡像,而不是直接從官方倉庫拿現成的使用。以接下來要構建的環境來說明下,下面我將要搭建一個的開發環境,需要進行配合。它的主要作用是持久化數據,避免容器銷毀后內部數據丟失暴露到宿主機的端口。 以前一直使用 Vagrant 作為自己的開發環境,并且在上家公司也推行大家采用 Vagrant 作為開發環境,保障公司使用的是同一套開發環境。隨著docker的流...
摘要:概述是一個用來定義和運行復雜應用的工具。使用,用戶通過來進行構建。使用,不再需要使用腳本來啟動容器。在配置文件中,所有的容器通過來定義,然后通過腳本來啟動,停止和重啟應用,和應用中的服務以及所有依賴服務的容器。 概述 Docker Compose是一個用來定義和運行復雜應用的Docker工具。使用Compose,你可以在一個文件中定義一個多容器應用,然后使用一條命令來啟動你的應用,完成...
閱讀 2293·2021-11-25 09:43
閱讀 3446·2021-10-25 09:48
閱讀 1321·2021-09-13 10:24
閱讀 2735·2019-08-29 15:07
閱讀 1258·2019-08-29 13:14
閱讀 3265·2019-08-29 12:22
閱讀 1354·2019-08-29 11:32
閱讀 3229·2019-08-29 11:23