Docker-compose的理解
Docker-compose是docker的服務編排工具,主要是用來構建多個服務,一般是構建構建多個有關聯的服務,比如要部署一個Spingboot專案,那麼一般都需要關係型資料庫,有可能還需要NOSQL,比如redis;如果利用dockerfile來構建,就需要編寫三個dockerfile,構建映象,執行容器;但是使用docker-compose,就可以將這三個服務都包含在一個docker-compose.yml檔案中,最後使用命令:docker-compose up 命令 就可以構建一整套完整的服務體系。
首先在自己的機器上安裝docker-compose 工具,安裝教程網上一搜一大把,這裡就不詳細說了;因為作者也記不住;
安裝好docker-compose之後,就可以編寫docker-compose檔案了,下面先貼出樓主最近寫的一個包含了springboot專案和mysql服務;
version : '2' services: mysqldbserver: container_name: mysqldbserver build: context: . dockerfile: mysqldb-dockerfile environment: - "MYSQL_ROOT_PASSWORD=root" - "MYSQL_DATABASE=testdb" - "MYSQL_ROOT_HOST=%" ports: - "3307:3307" networks: - net-spring-db command: [ 'mysqld', '--innodb-buffer-pool-size=20M', '--character-set-server=utf8', '--collation-server=utf8_general_ci', '--default-time-zone=+8:00', '--lower-case-table-names=1' ] springappserver: container_name: springappserver build: context: . dockerfile: springapp-dockerfile ports: - "8080:8080" networks: - net-spring-db volumes: - /vol/development depends_on: - mysqldbserver links: - mysqldbserver networks: net-spring-db: driver: bridge
version:指定版本號;
services:就是要構建的映象名稱,在上面的docker-compose.yml中,就是Mysqldbserver和springappserver
container_name:就是執行的服務名稱
build:可以指定基礎映象,也可以指定dockerfile,還可以指定dockerfile所在的目錄
上面就指定了兩個dockerfile,Mysqldb-dockerfile和springapp-dockerfile,我們來看看他們的內容:
mysqldb-dockerfile:
FROM mysql:5.7.17
MAINTAINER xxx [email protected]
ADD init.sql /docker-entrypoint-initdb.d/
指定了基礎映象,指定了作者,還copy了mysql初始化指令碼檔案到容器內,
springapp-dockerfile:
FROM java:8-jre
MAINTAINER qiuhao [email protected]
VOLUME /vol/development
RUN mkdir -p /vol/development
WORKDIR /vol/development
COPY build/libs/*.jar /vol/development/app.jar
CMD ["java", "-Xmx200m", "-Djava.security.egd=file:/dev/./urandom","-jar","/vol/development/app.jar"]
指定了基礎映象,掛載了目錄,指定了工作目錄,還有容器啟動時要執行的命令;
environment:環境變數,上面的Mysql就指定了root密碼和初始化資料庫;這是一個數組,用 '-'來分割
ports:對映埠;
networks:加入指定的網路模式
links:連結到其他服務中的容器,上面的springboot就要連結到mysql
depends-on:此選項用來解決啟動順序的問題,因為很多服務之間有依賴關係,有啟動先後順序,就上面的檔案來,mysql是要先於springboot專案啟動的,此標籤解決了啟動順序的依賴問題;
command:覆蓋容器啟動後預設執行的指令;
相關推薦
docker-compose build、gradlew build、docker-compose up的個人理解
利用docker搭建一個mysql + java service + nginx,總共4個docker容器,如果採用docker run的方式一個一個容器去建立十分麻煩。為了能更高效的批量建立容器,docker推出了docker-compose工具,只需要定義一個docker-compose.yml檔案即可
docker-compose一些小理解
Docker Compose的前身是Fig,它是一個定義及執行多個Docker容器的工具。使用Docker Compose你只需要在一個配置檔案中定義多個Docker容器,然後使用一條命令將多個容器啟動,Docker Compose會通過解析容器件的依賴關係(l
Docker-compose的理解
Docker-compose是docker的服務編排工具,主要是用來構建多個服務,一般是構建構建多個有關聯的服務,比如要部署一個Spingboot專案,那麼一般都需要關係型資料庫,有可能還需要NOSQL,比如redis;如果利用dockerfile來構建,就需要編寫三個doc
Docker-Compose一鍵部署Ningx+.Net Core+Redis集群
ext 地址 error app應用 十分 鏡像 max blank 問題 在看該文章前,你需要對Docker有所了解。 1、創建WebApp應用程序 我使用的是.Net Core 1.0.1版本,創建一個MVC應用程序,並添加對Redis的引用。因為這些很基礎,也很簡單
docker-compose常用命令(持續更新...)
art 啟動 cal start 構建 doc tty span 鏡像 build 構建或重建服務 help 命令幫助 kill 殺掉容器 logs 顯示容器的輸出內容 port 打印綁定的開放端口 ps 顯示容器 pull 拉取服務鏡像 restart 重啟服務 rm
官方文檔,才是正途-docker-compose
fig dock docs ner light map containe file balanced 需要的ingress網絡映射,還是host宿主機端口映射: https://docs.docker.com/compose/compose-file/#secret
學習使用Docker、Docker-Compose和Rancher搭建部署Pipeline(一)
docker 部署 rancher 雲 微服務 說明 這篇文章是一系列文章的第一篇,在這一系列文章中,我們想要分享我們如何使用Docker、Docker-Compose和Rancher完成容器部署工作流的故事。我們想帶你從頭開始走過pipeline的革命歷程,重點指出我們這一路上遇到的
docker compose
docker容器 pass innodb tro 創建 osx soc permsize color 使用Docker Compose管理多個容器 Docker Compose是一個用來定義和運行復雜應用的Docker工具。使用Compose,你可以在一個文件中定
Docker-compose實戰——Django+PostgreSQL
targe 終端 運行命令 odi oca create art mman build 今天我們來用docker-compose 快速安裝一個Django+PostgreSQL的開發環境。 Compose簡介 Compose 定位是“defining
docker-compose
docker-composeversion: "2"services: mongo.server: container_name : mongo.server image: 10.1.1.171:5000/eventbank/mongo network_mode: backend
Docker--------docker-compose編排最佳實戰
docker-compose docker 1. 背景 Docker Compose是一個用來定義和運行復雜應用的Docker工具。使用Compose,你可以在一個文件中定義一個多容器應用,然後使用一條命令來啟動你的應用,完成一切準備工作。 Docker Compose使用ym
Linux使用curl 方式安裝docker-compose 後執行docker-compose version 檢查安裝是否成功時出錯的解決辦法
hub 執行 cannot 1.0 使用 文件 curl url 驗證 0x0.緣起: 今天在一臺新的Fedora 25上按照官方文檔,使用curl方式安裝 docker-compose後,驗證是否安裝成功時出錯: 安裝時使用的命令為; curl -L https:/
容器編排 Docker Compose
docker compose在我們啟動容器的時候經常要使用docker run 指定很多參數,當我們需要管理很多容器時,使用這樣的方式會給我們的運維人員帶來很大的負擔,docker compose容器編排工具無疑是解決這個一問題的利器。Docker Compose是用來管理多容器應用的工具,我們可以使用com
docker-compose.yml樣例(mysql主從+mycat讀寫分離)
mysqld 系統 環境變量 服務端 nbsp dock 自定義 host expose Docker-compose.yml文件示例 1、mysql主從復制的docker-compose.yml文件 # cat docker-compose.yml version: ‘2
docker-compose管理daocker
web ron xmx 錯誤 需要 volume ports cal 名稱 Docker-compose管理docker服務 1、安裝docker-compose @首先確保服務器上已經安裝docker環境,如果沒有安裝使用如下命令進行安裝: # yum -y inst
docker~docker-compose和VS解決方案的關系
有時 文件組 version services 程序 出現 支持 web項目 spa 回到目錄 一般地,我們在VS裏添加了一個解決方案之後,會更新模塊或者業務添加多個api,web項目,這類似於最近說的微服務,而我們的docker-compose與微軟件正好有了一種默契,
docker三劍客之一docker compose
http 定義 mpat com dir 服務 stopped start 包括 compose有兩個重要的概念: 服務(service):一個應用的容器,實際上可以包括若幹運行相同鏡像的容器實例 項目(project):由一組關聯的應用容器組成的一個完整業務單元,在d
使用docker-compose簡化docker run 運行參數
docker docker-compose docker網絡 使用docker-compose簡化docker run 運行參數目錄 1docker-compose安裝2官網docker運行參數簡化3docker-compose.yml語法說明4參考鏈接docker-compose安裝docker
安裝docker-compose的兩種方式
安裝python 查詢 介紹 bin download hub 相對 .com 由於 這裏簡單介紹下兩種安裝docker-compose的方式,第一種方式相對簡單,但是由於網絡問題,常常安裝不上,並且經常會斷開,第二種方式略微麻煩,但是安裝過程比較穩定 方法一: # c
Docker Compose容器編排
nss console key processes sendfile 前臺 true stat apach Compose是Docker官方的開源項目,可以實現對Docker容器集群的快速編排。Compose 中有兩個重要的概念:服務(service):一個應用的容器,實際