您好,登錄后才能下訂單哦!
這篇文章主要講解了“Docker Compose編排容器如何使用”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Docker Compose編排容器如何使用”吧!
1. 前言
docker compose 是 docker 容器進(jìn)行編排的工具,定義和運(yùn)行多容器的應(yīng)用,可以一條命令啟動(dòng)多個(gè)容器。
使用compose 基本上分為三步:
1.dockerfile 定義應(yīng)用的運(yùn)行環(huán)境
2.docker-compose.yml 定義組成應(yīng)用的各服務(wù)
3.docker-compose up 啟動(dòng)整個(gè)應(yīng)用
2. 安裝compose
直接從github下載即可,前提要先安裝docker,版本要1.9.1以上
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或官網(wǎng)的run.sh腳本安裝
安裝后確認(rèn)
# docker-compose --version
3. 使用compose
3.1 創(chuàng)建一個(gè)python應(yīng)用, 使用flask,將數(shù)值記入redis
3.1.1 建立一個(gè)應(yīng)用的目錄,創(chuàng)建python文件
# mkdir python # cd python # vi app.py from flask import flask from redis import redis app = 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
3.1.2 創(chuàng)建 dockerfile
在同一目錄下,創(chuàng)建dockerfile
# vi dockerfile from python:2.7 add . /code workdir /code run pip install -r requirements.txt cmd python app.py
對(duì)上面的dockerfile做一下簡(jiǎn)單說(shuō)明:
容器使用python 2.7的鏡像
將當(dāng)前目錄下文件拷貝到容器內(nèi)/code
指定工作目錄為/code
安裝python需要的庫(kù):flask, redis
容器執(zhí)行命令 python app.py
3.1.3 創(chuàng)建編排腳本
在同一目錄下,創(chuàng)建 docker-compose.yml
# cat docker-compose.yml version: '2' services: web: build: . ports: - "5000:5000" volumes: - .:/code depends_on: - redis redis: image: redis
對(duì)上面的編排腳本做一下簡(jiǎn)單說(shuō)明:
這個(gè)應(yīng)用定義了兩個(gè)服務(wù):web, redis
web容器通過(guò)當(dāng)前路徑下的dockerfile生成
web容器內(nèi)的5000端口映射到主機(jī)的5000端口
將當(dāng)前目錄掛載到web容器內(nèi)/code
web容器依賴于redis容器
redis容器從docker hub獲取鏡像
3.1.4 啟動(dòng)應(yīng)用
會(huì)執(zhí)行編排腳本,分別制作和抓取web,redis鏡像,啟動(dòng)容器
# docker-compose up
3.1.5訪問(wèn)應(yīng)用
http://localhost:5000/
3.2 其他命令
3.2.1 daemon模式啟動(dòng)/停止
# docker-compose up -d
# docker-compose stop
3.2.2 查看信息
# docker-compose ps
3.2.3 對(duì)容器執(zhí)行命令(一次)
#docker-compose run services cmd
例如:查看web容器環(huán)境變量
# docker-compose run web env
3.3 創(chuàng)建一個(gè)wordpress應(yīng)用
3.3.1建立一個(gè)應(yīng)用的目錄
# mkdir wordpress # cd wordpress
3.3.2 創(chuàng)建 docker-compose.yml
# cat docker-compose.yml version: '2' services: db: image: mysql:5.7 volumes: - "./.data/db:/var/lib/mysql" restart: always environment: mysql_root_password: wordpress mysql_database: wordpress mysql_user: wordpress mysql_password: wordpress wordpress: depends_on: - db image: wordpress:latest links: - db ports: - "8000:80" restart: always environment: wordpress_db_host: db:3306 wordpress_db_password: wordpress
mysql的數(shù)據(jù)目錄掛載到當(dāng)前目錄下,./.data/db不存在時(shí)會(huì)自動(dòng)創(chuàng)建。
3.3.3 啟動(dòng)應(yīng)用
# docker-compose up -d
3.3.4 確認(rèn)
# docker-compose ps
3.3.5 訪問(wèn)應(yīng)用
http://localhost:8000/
初始化設(shè)置后,就可以看到wordpress的頁(yè)面
感謝各位的閱讀,以上就是“Docker Compose編排容器如何使用”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Docker Compose編排容器如何使用這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。