網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
1、安裝 Docker
首先打開(kāi)linux環(huán)境,輸入以下命令進(jìn)行安裝:
安裝 yum install docker 檢查是否安裝成功 docker --version #啟動(dòng) systemctl start docker
如果下載很慢,可以切換到國(guó)內(nèi)的阿里云鏡像,進(jìn)行下載:
換鏡像源 sudo vim /etc/docker/daemon.json 內(nèi)容如下: { "registry-mirrors": ["https://m9r2r2uj.mirror.aliyuncs.com"] } 保存退出,重啟docker: systemctl restart docker
2、安裝 Redis
首先在DockerHub搜索redis,點(diǎn)擊進(jìn)入詳情頁(yè)之后,拉到下面就可以看到how to use,如果需要選擇特定的版本,有Supported tags給我們選擇,然后如果拉取最新的版本的話,拉到下面就命令教程如下:
拉取redis的鏡像 docker pull redis 查看本地redis鏡像 docker images 運(yùn)行redis docker run --name myredis -p 6379:6379 -d redis redis-server --appendonly yes
docker run表示運(yùn)行的意思
–name myredis 表示起個(gè)名字叫myredis
-p 6379:6379表示把服務(wù)器的6379映射到docker的6379端口,這樣就可以通過(guò)服務(wù)器的端口訪問(wèn)docker的端口
-d 表示以后臺(tái)服務(wù)形式運(yùn)行redis redis redis-server --appendonly yes表示開(kāi)啟持久化緩存模式,可以存到硬盤
3、安裝 MySQL
下拉MySQL鏡像: docker pull mysql:5.7.27 Docker運(yùn)行MySQL: docker run --name mymysql -e MYSQL_ROOT_PASSWORD=admin -d -p 3306:3306 mysql:5.7.27
4、安裝 RabbitMQ
一行命令搞定,注意RABBITMQ_DEFAULT_PASS=password是設(shè)置密碼的意思,這行命令中已經(jīng)偷偷做了下拉鏡像等操作:
docker run -d --hostname my-rabbit --name myrabbit -e RABBITMQ_DEFAULT_USER=root -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 rabbitmq:management
5、安裝 ElasticSearch
下拉鏡像操作省略:
啟動(dòng): docker run -p 9200:9200 -p 9300:9300 -d --name es_643 elasticsearch:6.4.3 進(jìn)入鏡像: docker exec -it es_643 /bin/bash 安裝中文分詞插件: ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.3/elasticsearch-analysis-ik-6.4.3.zip 退出并重啟鏡像 exit docker restart es_643
6、構(gòu)建項(xiàng)目的 Docker 鏡像
我們使用命令到github上拉取項(xiàng)目:
下拉項(xiàng)目(eblog): clone https://github.com/MarkerHub/eblog.git 進(jìn)入文件夾: cd eblog 打包: mvn clean package -Dmaven.test.skip=true
將打好的jar包上傳到 linux 服務(wù)器上!
接下來(lái)編寫 DockerFile,它能將我們打包好的jar包代碼構(gòu)建成鏡像:
FROM java:8 EXPOSE 8080 VOLUME /tmp ENV TZ=Asia/Shanghai RUN ln -sf /usr/share/zoneinfo/{TZ} /etc/localtime && echo "{TZ}" > /etc/timezone ADD eblog-0.0.1-SNAPSHOT.jar /app.jar RUN bash -c 'touch /app.jar' ENTRYPOINT ["java","-jar","/app.jar"]
FROM java:8 表示基于jdk8環(huán)境
EXPOSE 8080 表示對(duì)外暴露的端口是8080
VOLUME /tmp 表示掛載到/tmp目錄
ADD eblog-0.0.1-SNAPSHOT.jar /app.jar 表示把jar包復(fù)制到鏡像服務(wù)里面的根目錄,并改名稱app.jar
RUN bash -c ‘touch /app.jar' 表示執(zhí)行創(chuàng)建app.jar
ENTRYPOINT [“java”,"-jar","/app.jar"] 表示執(zhí)行啟動(dòng)命令java -jar
接下來(lái),我們安裝Dockrfile,然后用DockerFile把eblog-0.0.1-SNAPSHOT.jar構(gòu)建成鏡像:
構(gòu)建鏡像 docker build -t eblog . 查看鏡像 docker images
這步驟完成之后,我們就可以在準(zhǔn)備工作就已經(jīng)完成啦,接下來(lái),我們就直接啟動(dòng)我們的項(xiàng)目
7、運(yùn)行項(xiàng)目鏡像 完成項(xiàng)目啟動(dòng)
命令如下:
docker run -p 8080:8080 -p 9326:9326 --name eblog --link es_643:ees --link myrabbit:erabbit --link mymysql:emysql --link myredis:eredis -d eblog
-p 8080:8080 -p 9326:9326 :9326是因?yàn)榧磿r(shí)聊天需要用到的ws端口 --link es:ees 表示關(guān)聯(lián)容器,把容器es起別名為ees
查看eblog打印日志:
docker logs -f eblog
到此項(xiàng)目運(yùn)行成功!
注意: 使用 DockerCompose 更簡(jiǎn)單
原文鏈接:https://blog.csdn.net/weixin_46594796/article/details/121666193
相關(guān)推薦
- 2022-06-10 redis?解決庫(kù)存并發(fā)問(wèn)題實(shí)現(xiàn)數(shù)量控制_Redis
- 2023-02-23 Python實(shí)現(xiàn)隨機(jī)生成一個(gè)漢字的方法分享_python
- 2022-06-16 React實(shí)現(xiàn)核心Diff算法的示例代碼_React
- 2022-12-06 C++中調(diào)用復(fù)制(拷貝)函數(shù)的三種情況總結(jié)_C 語(yǔ)言
- 2022-08-04 Django框架之路由用法_python
- 2022-08-06 winform把Office轉(zhuǎn)成PDF文件_C#教程
- 2022-03-15 nginx 請(qǐng)求的時(shí)候 500錯(cuò)誤 failed (13: Permission denied)
- 2022-04-30 DataGridView自定義單元格表示值、Error圖標(biāo)顯示的方法介紹_C#教程
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支