日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Docker学习笔记 - Docker Compose

發布時間:2023/11/30 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker学习笔记 - Docker Compose 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、概念

Docker Compose 用于定義運行使用多個容器的應用,可以一條命令啟動應用(多個容器)。

使用Docker Compose 的步驟:

  • 定義容器 Dockerfile
  • 定義應用的各個服務 docker-compose.yml
  • 啟動應用 docker-compose up?
  • 二、安裝

    Note that Compose 1.8.0 requires Docker Engine 1.10.0 or later for version 2 of the Compose File format, and Docker Engine 1.9.1 or later for version 1.

    # curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose # chmod +x /usr/local/bin/docker-compose

    也可以用pip或官網的run.sh腳本安裝

    安裝后確認

    # docker-compose --version

    三、運行

    1、創建一個Python應用

    ? ? ? 使用Flask,將數值記入Redis

    1.1 建立一個python應用目錄和文件

    # mkdir python # cd python# vi app.py from flask import Flask from redis import Redisapp = Flask(__name__) redis = Redis(host='redis', port=6379)@app.route('/') def hello():redis.incr('hits')return 'Hello World! I have been seen %s times.' % redis.get('hits')if __name__ == "__main__":app.run(host="0.0.0.0", debug=True)# vi requirements.txt flask redis

    1.2 創建 Dockerfile

    在同一目錄下,創建Dockerfile

    # vi Dockerfile FROM python:2.7 ADD . /code WORKDIR /code RUN pip install -r requirements.txt CMD python app.py

    對上面的Dockerfile做一下簡單說明:

    • 容器使用Python 2.7的鏡像
    • 將當前目錄下文件拷貝到容器內/code
    • 指定工作目錄為/code
    • 安裝python需要的庫:flask, redis
    • 容器執行命令?python app.py

    1.3 創建編排腳本

    在同一目錄下,創建 docker-compose.yml

    # cat docker-compose.yml version: '2' services:web:build: .ports:- "5000:5000"volumes:- .:/codedepends_on:- redisredis:image: redis

    對上面的編排腳本做一下簡單說明:

    • 這個應用定義了兩個服務:web, redis
    • web容器通過當前路徑下的Dockerfile生成
    • web容器內的5000端口映射到主機的5000端口
    • 將當前目錄掛載到web容器內/code
    • web容器依賴于redis容器
    • redis容器從Docker Hub獲取鏡像

    1.4 啟動應用

    會執行編排腳本,分別制作和抓取web,redis鏡像,啟動容器

    # docker-compose up

    1.5?訪問應用

    http://localhost:5000/?

    四、命令

    1、daemon模式啟動/停止

    # docker-compose up -d # docker-compose stop

    2 查看信息

    # docker-compose ps

    3 對容器執行命令(一次)

    #docker-compose run services cmd

    例如:查看web容器環境變量

    # docker-compose run web env

    五、例子

    1、例一 -?docker-compose.yml

    version: '2' services:web:image: dockercloud/hello-worldports:- 8080networks:- front-tier- back-tierredis:image: redislinks:- webnetworks:- back-tierlb:image: dockercloud/haproxyports:- 80:80links:- webnetworks:- front-tier- back-tiervolumes:- /var/run/docker.sock:/var/run/docker.sock networks:front-tier:driver: bridgeback-tier: driver: bridge

    2、例二 - docker-compose.yml

    # cat docker-compose.yml version: '2' services:db:image: mysql:5.7volumes:- "./.data/db:/var/lib/mysql"restart: alwaysenvironment:MYSQL_ROOT_PASSWORD: wordpressMYSQL_DATABASE: wordpressMYSQL_USER: wordpressMYSQL_PASSWORD: wordpresswordpress:depends_on:- dbimage: wordpress:latestlinks:- dbports:- "8000:80"restart: alwaysenvironment:WORDPRESS_DB_HOST: db:3306WORDPRESS_DB_PASSWORD: wordpress

    3、例三 - docker-compose.yml

    ?

    轉載于:https://www.cnblogs.com/lexiaofei/p/7890249.html

    總結

    以上是生活随笔為你收集整理的Docker学习笔记 - Docker Compose的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。