docker 部署java環(huán)境以及常用應(yīng)用(持續(xù)更新)

追加更新內(nèi)容

項目中如果遇到會不時的更新.請大家及時關(guān)注哦!!!

  • zookeeper
  • kafka
  • es

使用場景

本地、測試屿讽、生產(chǎn)環(huán)境使用一致的環(huán)境,不會導(dǎo)致本地與線上環(huán)境的差異.輕量級的docker可以滿足.

前置條件

在安裝應(yīng)用之前需要安裝docker.筆者是在vmware中安裝的docker,因為遷移會比較方便

  • vmware(非必要)
  • docker
  • docker-compose

使用docker-compose編排安裝應(yīng)用

前置條件已經(jīng)安裝了docker docker-compose.如何安裝自行百度.
安裝常用應(yīng)用

  • mysql
  • tomcat
  • docker-ui
  • nginx
  • redis
  • jenkins
  • kafka
  • zookeeper
  • es

在安裝es之前需要設(shè)置虛擬內(nèi)存不然會報錯

設(shè)置虛擬內(nèi)存虛擬內(nèi)存
sudo sysctl -w vm.max_map_count=262144
  1. 新建docker-compose.yml

volumes為掛載的目錄,目的是為了讓你修改的文件保存在你的本地目錄中.這樣容器刪了就不會丟失數(shù)據(jù).這個例子中我掛在的目錄為./volumes/....這個目錄可以自行修改

version: "2"
services:

    mysql:
      image: mysql/mysql-server:5.7.21
      ports:
        - "3306:3306"
      environment:
        MYSQL_ROOT_PASSWORD: "zxcv1234"
        MYSQL_ROOT_HOST: "%"
        TZ: Asia/Shanghai
      volumes:
        - "/home/mac/docker/volumes/mysql-5.7.21/datadiri:/var/lib/mysql"
      restart: always
      container_name: docker_mysql

    tomcat:
      image: dordoka/tomcat
      ports:
        - "9002:8080"
      environment:
         TZ: Asia/Shanghai
      volumes:
        - "./volumes/tomcat/webapps:/opt/tomcat/webapps"
        - "./volumes/tomcat/logs:/opt/tomcat/logs"
      restart: always
      container_name: docker_tomcat


    docker-ui:
      image: uifd/ui-for-docker
      ports:
        - "9000:9000"
      volumes:
        - "/var/run/docker.sock:/var/run/docker.sock"
      restart: always
      container_name: docker_ui

    nginx:
       image: daocloud.io/nginx
       ports:
         - "12000:80"
       environment:
         TZ: Asia/Shanghai
       volumes:
         - "./volumes/nginx/default.conf:/etc/nginx/conf.d/default.conf"
       restart: always
       container_name: docker_nginx

    jenkins:
       image: jenkins/jenkins:lts
       ports:
         - "12002:8080"
         - "12003:50000"
       environment:
         TZ: Asia/Shanghai
       volumes:
         - "./volumes/jenkins:/var/jenkins_home"
       restart: always
       container_name: docker_jenkins

    redis:
      image: redis:3.2
      ports:
        - "6379:6379"
      environment:
        TZ: Asia/Shanghai
      volumes:
        - "/etc/localtime:/etc/localtime"
      restart: always
      container_name: docker_redis

    zookeeper:
      image: wurstmeister/zookeeper
      ports:
        - "2181:2181"
      restart: always
      container_name: kafka_zookeeper_1

    kafka:
      image: wurstmeister/kafka
      volumes:
          - /etc/localtime:/etc/localtime
      ports:
        - "9092:9092"
      restart: always
      environment:
        KAFKA_ADVERTISED_HOST_NAME: 192.168.7.118
        KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      depends_on:
       - zookeeper
      container_name: kafka_1


    kafka-manager:
     image: sheepkiller/kafka-manager:latest
     ports:
      - "9001:9000"
     links:
      - zookeeper
      - kafka
     environment:
       ZK_HOSTS: zookeeper:2181
       APPLICATION_SECRET: letmein
       KM_ARGS: -Djava.net.preferIPv4Stack=true
     restart: always
     container_name: kafka_manager_1

    es:
      image: elasticsearch:5.6.4
      container_name: ezview_elasticsearch_1
      volumes:
         - "./volumes/es/data:/usr/share/elasticsearch/data"
         - "./volumes/es/config/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml"
      ports:
         - "9200:9200"
         - "9300:9300"
      restart: always
      container_name: es_1

  1. cd 到 docker-compose.yml, 執(zhí)行docker-compose up -d

  2. 執(zhí)行完畢,查看docker運(yùn)行狀態(tài)
    docker-compose ps

          Name                        Command               State                         Ports
---------------------------------------------------------------------------------------------------------------------
      Name                     Command                  State                             Ports
----------------------------------------------------------------------------------------------------------------------
docker_jenkins      /sbin/tini -- /usr/local/b ...   Up             0.0.0.0:12003->50000/tcp, 0.0.0.0:12002->8080/tcp
docker_mysql        /entrypoint.sh mysqld            Up (healthy)   0.0.0.0:3306->3306/tcp, 33060/tcp
docker_nginx        nginx -g daemon off;             Up             0.0.0.0:12000->80/tcp
docker_redis        docker-entrypoint.sh redis ...   Up             0.0.0.0:6379->6379/tcp
docker_tomcat       /opt/tomcat/bin/catalina.s ...   Up             8009/tcp, 0.0.0.0:9002->8080/tcp
docker_ui           /ui-for-docker                   Up             0.0.0.0:9000->9000/tcp
es_1                /docker-entrypoint.sh elas ...   Up             0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp
kafka_1             start-kafka.sh                   Up             0.0.0.0:9092->9092/tcp
kafka_manager_1     ./start-kafka-manager.sh         Up             0.0.0.0:9001->9000/tcp
kafka_zookeeper_1   /bin/sh -c /usr/sbin/sshd  ...   Up             0.0.0.0:2181->2181/tcp, 22/tcp, 2888/tcp, 3888/tcp

測試應(yīng)用是否都安裝成功

因為我的docker是安裝在本地虛擬機(jī)的linux系統(tǒng)上,首先查看虛擬機(jī)的ip地址172.16.217.128

虛擬機(jī)ubuntu ip地址.png

docker_ui

端口9000
訪問http://172.16.217.128:9000.查看是否安裝完成

image.png

頁面能夠正常訪問,測試通過

jenkins

端口12002
訪問http://172.16.217.128:12002.查看是否安裝完成

jenkins.png

頁面能夠正常訪問,測試通過

mysql

---
ip: 172.16.217.128
端口: 3306
賬號: root
密碼: zxcv1234
---

ps: 賬號密碼是在上文中的docker-compose.yml中設(shè)置的

使用數(shù)據(jù)庫連接工具navicat(可以選擇自己的連接工具,我這里使用這個)

image.png

image.png

數(shù)據(jù)庫能夠正常訪問,測試通過

nginx

端口12000
訪問http://172.16.217.128:12000.查看是否安裝完成

image.png

頁面能夠正常訪問,測試通過

redis

端口6379
訪問redis,查看是否安裝完成

image.png

redis正常訪問,測試通過

tomcat

端口9001
訪問http://172.16.217.128:9001.查看是否安裝完成

image.png

tomcat正常訪問,測試通過

zookeeper

kafka依賴于zookeeper,所以我們只要測試kafka就行了

kafka

image.png

es

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末屿储,一起剝皮案震驚了整個濱河市贿讹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌够掠,老刑警劉巖民褂,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異疯潭,居然都是意外死亡赊堪,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進(jìn)店門竖哩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來哭廉,“玉大人,你說我怎么就攤上這事期丰∪阂叮” “怎么了?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵钝荡,是天一觀的道長。 經(jīng)常有香客問我舶衬,道長埠通,這世上最難降的妖魔是什么名眉? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任跛锌,我火速辦了婚禮,結(jié)果婚禮上脯颜,老公的妹妹穿的比我還像新娘虽画。我一直安慰自己舞蔽,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布码撰。 她就那樣靜靜地躺著渗柿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上朵栖,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天颊亮,我揣著相機(jī)與錄音,去河邊找鬼陨溅。 笑死终惑,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的门扇。 我是一名探鬼主播雹有,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼臼寄!你這毒婦竟也來了霸奕?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤脯厨,失蹤者是張志新(化名)和其女友劉穎铅祸,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體合武,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡临梗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了稼跳。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盟庞。...
    茶點(diǎn)故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖汤善,靈堂內(nèi)的尸體忽然破棺而出什猖,到底是詐尸還是另有隱情,我是刑警寧澤红淡,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布不狮,位于F島的核電站,受9級特大地震影響在旱,放射性物質(zhì)發(fā)生泄漏摇零。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一桶蝎、第九天 我趴在偏房一處隱蔽的房頂上張望驻仅。 院中可真熱鬧,春花似錦登渣、人聲如沸噪服。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽粘优。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間敬飒,已是汗流浹背邪铲。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留无拗,地道東北人带到。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像英染,于是被迫代替她去往敵國和親揽惹。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評論 2 354

推薦閱讀更多精彩內(nèi)容