突如其來的意外讓本該快樂的我快樂不起來了,感情回來一趟就上了一天線下,經歷了第一次坐救護車,遇上了一位特別倔的醫生,別人的一週 = 一週 48小時,個人一週 = 一週,問了問醫院說體溫正常三天後就能夠複查,沒想到仍是個人醫生說了算,沒想到又是她,就離譜,這周的狀態也不怎麼好,惟一能寫點的就是關於Docker Compose的了,以前啓docker都是直接用命令一個一個的啓動,以後潘老師說用docker-compose,寫好文件,一次就能啓動多個。html
Compose 是用於定義和運行多容器 Docker 應用程序的工具。經過 Compose,您可使用 YML 文件來配置應用程序須要的全部服務。而後,使用一個命令,就能夠從 YML 文件配置中建立並啓動全部服務。
$ sudo curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose -uname -s-uname -m > /usr/local/bin/docker-compose # 下載 docker-compose 到 /usr/local/bin/docker-compose 中 $ sudo chmod +x /usr/local/bin/docker-compose # 給 docker-compose 執行權限 $ curl -L https://raw.githubusercontent.com/docker/compose/1.8.0/contrib/completion/bash/docker-compose > /etc/bash\_completion.d/docker-compose # bash 自動補全
如下是一個yaml文件的模板,咱們把要啓動的程序的信息寫進去,在執行命令時便會編譯和啓動mysql
version: '3' # 定義版本,不指定默認爲版本 1,新版本功能更多 services: # 容器,就像 docker run db: # 名稱,它也是 network 中 DNS 名稱 image: mysql:5.7 # 鏡像,若是像自定義鏡像能夠不指定這個參數,而用 build volumes: # 定義數據卷,相似 -v - db_data:/var/lib/mysql - .:/aaa # 掛載當前目錄到容器中的 /aaa 無需使用絕對路徑 restart: always # 相似 --restart # 'no' 默認,不自動重啓,覺得 no 是 yaml 關鍵字因此加引號 # always 老是自動重啓 # on-failure 當失敗時自動重啓,也就是 exit code 不爲 0 時 # unless-stopped 除非手動中止,否者一直重啓 environment: # 定義環境變量,相似 -e MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: # 第二個容器 labels: com.example.description: "This label will appear on all containers for the web service" # 爲容器添加 Docker 元數據(metadata)信息。例如能夠爲容器添加輔助說明信息。 depends_on: # 幫助 compose 理解容器之間的關係 # db 將會在 wordpress 以前被啓動 # 關閉時 wordpress 將會在 db 以前關閉 # 咱們指定只啓動 wordpress,db 也會跟着啓動 - db image: wordpress:latest ports: # 端口,相似 -p - "8000:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress volumes: # 可選,須要建立的數據卷,相似 docker volume create db_data: networks: # 可選,須要建立的網絡,相似 docker network create
Dockerfile 是一個用來構建鏡像的文本文件,文本內容包含了一條條構建鏡像所需的指令和說明。
在項目目錄裏面新建Dockerfile文件,而後寫入相關內容,具體操做見相關教程:Docker Dockerfilegit
在項目目錄執行命令:github
docker-compose up -d
而後出現以下畫面:
而後輸入:web
docker-compose ps
查看正在運行的docker-compose的各類狀態。spring
在這裏我是用的是mysql的環境,按照這篇教程寫的:第一節 數據庫初始化sql
本覺得明天就能重見光明,沒想到明天是新的開始,這兩天調整一下狀態,下週開始好好工做,但願一切都會好的吧。docker