日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Linux下Tomcat+Java+Sqlserver接入實(shí)踐

更新時(shí)間:

本章介紹如何在Linux 系統(tǒng)下使用Tomcate+Java+Sqlserver對托管應(yīng)用進(jìn)行部署

準(zhǔn)備工作

  1. 安裝Docker環(huán)境。您可以直接訪問Docker官網(wǎng)獲取更多信息。

    • Linux客戶端安裝:目前在Linux系統(tǒng)上安裝Docker,對系統(tǒng)版本有以下要求:

      CentOS:7
      Debian:7.7(Wheezy LTS)、8.0(Jessie LTS)、9(Stretch)
      Fedora:24、25
      Ubuntu:16.04(Xenial LTS)、14.04(Trusty LTS)、17.04(Zesty)
      您可以通過阿里云的Docker CE 鏡像源站進(jìn)行安裝。
  2. 打包自研節(jié)點(diǎn)鏡像。

    • 編寫dockerfile文件

      # step 1: 以ubuntu:16.04作為基礎(chǔ)鏡像
      FROM ubuntu:16.04
      # step 2: 安裝jdk8
      RUN apt-get update && apt-get install -y openjdk-8-jdk
      # step 3: 安裝sqlcmd環(huán)境
      RUN apt-get update && apt-get install -y \
      curl apt-transport-https debconf-utils \
      && rm -rf /var/lib/apt/lists/*
      RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
      RUN curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
      RUN apt-get update && ACCEPT_EULA=Y apt-get install -y msodbcsql mssql-tools
      RUN echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
      RUN /bin/bash -c "source ~/.bashrc"
      # step 4:安裝中文顯示環(huán)境,在終端操作時(shí),確保能正確的顯示中文內(nèi)容
      RUN apt-get update && apt-get install -y locales
      ENV LANG C.UTF-8
      # step 5: 因sqlcmd限制,需要配置終端環(huán)境使用en_US.UTF-8
      RUN echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && locale-gen
      # step 6: 復(fù)制自有應(yīng)用
      COPY test.jar /test.jar
      ENTRYPOINT ["/bin/bash","-c","java -jar /test.jar --server.port=8081"]
    • 將需要部署的應(yīng)用jar包放在Dockerfile文件同一個(gè)目錄下。

    • 執(zhí)行命令進(jìn)行鏡像構(gòu)建: docker build -t javademo:v1 .:javademo為鏡像名稱,v1為鏡像版本號。執(zhí)行命令查看鏡像:docker images

  3. 打包初始化節(jié)點(diǎn)鏡像

    • 編寫dockerfile文件

      # step 1: 以ubuntu:16.04作為基礎(chǔ)鏡像
      FROM ubuntu:16.04
      # step 2: 安裝sqlcmd
      RUN apt-get update && apt-get install -y \
      curl apt-transport-https debconf-utils \
      && rm -rf /var/lib/apt/lists/*
      RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
      RUN curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
      RUN apt-get update && ACCEPT_EULA=Y apt-get install -y msodbcsql mssql-tools
      # step 3: 設(shè)置sqlcmd的path
      RUN echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
      RUN /bin/bash -c "source ~/.bashrc"
      # step 4: 安裝中文顯示環(huán)境,在終端操作時(shí),確保能正確的顯示中文內(nèi)容
      RUN apt-get update && apt-get install -y locales
      ENV LANG C.UTF-8
      # step 5: 因sqlcmd限制,需要配置終端環(huán)境使用en_US.UTF-8
      RUN echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && locale-gen
      # step 6: copy數(shù)據(jù)庫腳本
      COPY db.sql /db.sql
      COPY init.sh /init.sh
      RUN chmod +x /init.sh
      ENTRYPOINT ["/bin/bash", "/init.sh"]
    • 將需要部署的db.sql與init.sh放在Dockerfile文件同一個(gè)目錄下。

    • 執(zhí)行命令進(jìn)行鏡像構(gòu)建: docker build -t javademo:v2 .:javademo為鏡像名稱,v2為鏡像版本號。執(zhí)行命令查看鏡像:docker images

  4. 創(chuàng)建數(shù)據(jù)庫初始化的sql文件。

    /******************************************/
    /*   創(chuàng)建user數(shù)據(jù)表,并插入兩條初始化數(shù)據(jù)       */
    /******************************************/
    CREATE DATABASE demoDB
    GO
    CREATE TABLE [demoDB].[dbo].[user]
    (
     [id] bigint NOT NULL ,
     [gmt_create] datetime NOT NULL ,
     [gmt_modified] datetime NOT NULL ,
     [name] nvarchar(50) NOT NULL ,
     [phone] nvarchar(50) NOT NULL 
    )
    ON [PRIMARY]
    GO
    ALTER TABLE [demoDB].[dbo].[user] ADD CONSTRAINT [PK_user] PRIMARY KEY CLUSTERED 
    (
    [id]
    )
    WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
    GO
    INSERT INTO [demoDB].[dbo].[user] (id, gmt_create, gmt_modified, name, phone) VALUES ('1', '2018-11-26 10:00:00', '2018-11-26 10:00:00', N'測試', N'1388888888');
    INSERT INTO [demoDB].[dbo].[user] (id, gmt_create, gmt_modified, name, phone) VALUES ('2', '2018-11-26 10:00:00', '2018-11-26 10:00:00', N'test', N'1366666666');
    GO

    5.創(chuàng)建用于容器初始化的運(yùn)行腳本init.sh。

    #!/bin/bash --login
    function prop() {
     env|grep "${1}"|cut -d'=' -f2
    }
    #從容器中的環(huán)境變量獲取SQLServer訪問參數(shù)
    USER=$(prop 'iot\.hosting\.testdb\.mssqlUser')
    PASSWORD=$(prop 'iot\.hosting\.testdb\.mssqlPassword')
    HOSTNAME_FULL=$(prop 'iot\.hosting\.testdb\.mssqlUrl')
    HOSTNAME_TEMP=${HOSTNAME_FULL#jdbc:sqlserver://}
    HOSTNAME=${HOSTNAME_TEMP%:*}",1433"
    #使用數(shù)據(jù)庫初始化sql文件初始化數(shù)據(jù)庫
    /opt/mssql-tools/bin/sqlcmd -S ${HOSTNAME} -U ${USER} -P ${PASSWORD} -i db.sql -o db_execution.log

    6.測試的Demo地址為:Tomcat+Java+MySQL

操作步驟

  1. 登錄物聯(lián)網(wǎng)平臺控制臺

  2. 在左側(cè)導(dǎo)航欄選擇應(yīng)用托管>鏡像管理。將打包完成的鏡像文件上傳至阿里云,具體操作您可以參照鏡像倉庫

  3. 在左側(cè)導(dǎo)欄選擇應(yīng)用托管>應(yīng)用配置。具體操作您可以參照應(yīng)用配置image.png在應(yīng)用配置中拉入初始化節(jié)點(diǎn),并選擇該鏡像。當(dāng)節(jié)點(diǎn)部署時(shí),與其相連接的節(jié)點(diǎn)的輸出屬性,會注入該初始化節(jié)點(diǎn)的環(huán)境變量中,方便初始化節(jié)點(diǎn)訪問。image.png腳本中SQL Server訪問信息對應(yīng)的環(huán)境變量中動態(tài)內(nèi)容,需要與init.sh部署節(jié)點(diǎn)的設(shè)置保持一致,testdb為節(jié)點(diǎn)配置中的服務(wù)名稱,同時(shí)SQL Server節(jié)點(diǎn)輸出的數(shù)據(jù)都將放在自研節(jié)點(diǎn)的環(huán)境變量中。image.png

  4. 在左側(cè)導(dǎo)航欄選擇應(yīng)用托管>應(yīng)用管理

  5. 在配置名稱的右側(cè),單擊管理,進(jìn)入應(yīng)用管理頁面,在節(jié)點(diǎn)列表中可查看部署的所有節(jié)點(diǎn)狀態(tài),單擊外部端口,將進(jìn)入到您部署的應(yīng)用中。image.png