我的博客的上雲之路[續]

  上一篇我使用了docker分別去部署了Nginx,Tomcat, Mysql服務。可是你們也不難發現這個步驟確實有點多,整個過程有點繁瑣。因此在這裏我將介紹一種更加方便快捷的服務部署方式Docker compose。Docker Compose是一個用來定義和運行復雜應用的Docker工具。一個使用Docker容器的應用,一般由多個容器組成。使用Docker Compose再也不須要使用shell腳原本啓動容器。 Compose 經過一個配置文件來管理多個Docker容器,在配置文件中,全部的容器經過services來定義,而後使用docker-compose腳原本啓動,中止和重啓應用,和應用中的服務以及全部依賴服務的容器,很是適合組合使用多個容器進行開發的場景。經過上邊這些Docker compose的介紹,咱們不難發現用它來部署咱們的服務確實很合適。mysql

1. 安裝Docker compose

下載最新版的docker-compose文件 nginx

sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

添加可執行權限 git

sudo chmod +x /usr/local/bin/docker-compose

測試安裝結果 github

docker-compose --version 

2.建立Docker Compose文件結構

1.建立docker compose文件夾web

mkdir -p /usr/web/compose

 2. 建立docker compose配置文件docker-compose.yamlsql

cd /usr/web/compose
touch docker-compose.yaml
內容以下:


version: '3'
services:
  nginx:
   container_name: nginx1
   image: nginx:latest
   restart: always
   ports:
   - 80:80
   volumes:
   - ./nginx/conf.d:/etc/nginx/conf.d
   - ./nginx/nginx.conf:/etc/nginx/nginx.conf

  mysql:
   container_name: mysql5.7
   image: mysql:5.7
   environment:
    MYSQL_DATABASE: solo
    MYSQL_ROOT_PASSWORD: ************
    MYSQL_ROOT_HOST: '%'
   ports:
   - 3306:3306
   restart: always
   volumes:
   - ./mysql/conf.d/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf
   - ./mysql/data:/var/lib/mysql
    
  tomcat:
    container_name: my_tomcat1
    restart: always
    image: tomcat:9.0.12
    volumes:
      - ./tomcat/logs:/usr/local/tomcat/logs
      - ./tomcat/conf.d:/usr/local/tomcat/conf
      - ./tomcat/webapps:/usr/local/tomcat/webapps
    ports:
    - 8080:8080
    depends_on:
      - nginx
      - mysql

在這個配置文件中分別定義了咱們以前啓動的三個服務docker

3. 建立服務配置文件

  複製咱們在上篇博客中建立的tomcat文件夾、nginx文件夾、mysql文件夾到compose文件夾中。shell

修改nginx配置文件nginx.conf,由於docker compose各個服務見可使用服務名來互相訪問
因此將 server  my_tomcat1:8080改成server  tomcat:8080;
修改項目的數據庫鏈接地址,tomcat中的應用能夠直接使用mysql服務名來訪問
jdbc:mysql://mysql.local:3306/solo改成jdbc:mysql://mysql:3306/solo

 4.啓動服務

  中止並刪除以前建立的容器,將當前目錄切換到compose目錄下,執行以下命令:數據庫

docker-compose up -d

  三個服務將依次啓動,至此咱們的我的博客已經成功上線。tomcat

相關文章
相關標籤/搜索