国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Docker DockerFile部署java jar項(xiàng)目包,以及Mysql,Redis

這篇具有很好參考價(jià)值的文章主要介紹了Docker DockerFile部署java jar項(xiàng)目包,以及Mysql,Redis。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Docker運(yùn)行環(huán)境要求系統(tǒng)為64位、Linux系統(tǒng)內(nèi)核版本為?3.8以上

1. Docker安裝

1.1 搭建gcc環(huán)境 (gcc是編程語(yǔ)言譯器)

  1. yum -y install gcc

  2. yum -y install gcc-c++

1.2 安裝需要的軟件包

yum install -y yum-utils

1.3 裝鏡像倉(cāng)庫(kù)

因?yàn)閐ocker的服務(wù)器是在國(guó)外,

所以有時(shí)候從倉(cāng)庫(kù)中下載鏡像的時(shí)候會(huì)連接被拒絕或者連接超時(shí)的情況!

因此可以使用阿里云鏡像倉(cāng)庫(kù)

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1.4 新yum軟件包索引

?yum makecache fast

?1.5 安裝docker引擎

yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

1.6 啟動(dòng)docker

systemctl start docker

1.7 查看docker版本

docker version

docker部署jar包,docker,docker,java,容器,redis,mysql,jar

1.8 配置阿里云鏡像加速

docker部署jar包,docker,docker,java,容器,redis,mysql,jar

docker部署jar包,docker,docker,java,容器,redis,mysql,jar

?在CentOS下配置鏡像加速器

mkdir -p /etc/docker?
tee /etc/docker/daemon.json <<-'EOF'
{
? "registry-mirrors": ["你個(gè)人的阿里云鏡像加速器地址"]
}
EOF
systemctl daemon-reload
systemctl restart docker?

?docker已經(jīng)安裝完畢

2. docker安裝Mysql

2.1 拉取mysql鏡像

docker pull mysql:8.0.19

2.2 啟動(dòng)mysql

?# docker run 創(chuàng)建一個(gè)新的容器
docker run -d -p 23306:3306 --name mysql \
-v /usr/dcoker-mysql/log:/var/log/mysql \
-v /usr/docker-mysql/data:/var/lib/mysql \
-v /usr/docker-mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.19

命令參數(shù)說(shuō)明:

參數(shù)說(shuō)明:
-d ? 后臺(tái)運(yùn)行
-p 33060:3306 ?端口映射,宿主機(jī)的33060端口映射到容器3306端口
--name mysql ?容器名稱,可以自定義
-v /usr/dcoker-mysql/log:/var/log/mysql ?宿主機(jī)/usr/dcoker-mysql/log目錄與容器的/var/log/mysql目錄掛載,該目錄保存了mysql的日志
-v /usr/docker-mysql/data:/var/lib/mysql ?也是掛載,該目錄是mysql數(shù)據(jù)儲(chǔ)存的位置
-v /usr/docker-mysql/conf:/etc/mysql/conf.d ?也是掛載,該目錄放置配置文件的
-e MYSQL_ROOT_PASSWORD=123456 ?設(shè)置環(huán)境變量,該變量是設(shè)置root用戶的密碼,可自行修改
mysql:8.0.19? 鏡像名稱以及tag

如果不掛載數(shù)據(jù)卷,容器被刪掉之后,mysql數(shù)據(jù)庫(kù)里面的數(shù)據(jù)都會(huì)消失?

如果啟動(dòng)失敗,可以執(zhí)行docker logs -f -t --tail 1000? [容器id] ,查看日志,找失敗的原因

2.3 查看容器

docker ps?

docker部署jar包,docker,docker,java,容器,redis,mysql,jar?進(jìn)入容器執(zhí)行

# docker exec 在運(yùn)行的容器中執(zhí)行命令

docker exec -it mysql mysql -uroot -p123456

參數(shù)說(shuō)明: -i 以交互模式運(yùn)行容器 -t 為容器重新分配一個(gè)偽輸入終端 mysql -uroot -p123456 容器執(zhí)行的命令,直接進(jìn)入容器中的mysql?

*注意:安裝的mysql是8.x版本的,默認(rèn)的身份驗(yàn)證插件為caching_sha2_password,該插件不能使用舊版本的客戶端來(lái)連接;如果所使用的Navicat版本較舊,需要修改身份驗(yàn)證插件才能登錄。修改插件執(zhí)行:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

使用navicat連接后創(chuàng)建數(shù)表并插入數(shù)據(jù), 如果出現(xiàn)亂碼, 修改配置文件

執(zhí)行exit退出容器, 在宿主機(jī)中掛載的配置文件編寫

執(zhí)行 vim /usr/docker-mysql/conf/my.cnf, 這個(gè)目錄就是上面創(chuàng)建容器時(shí)掛載的數(shù)據(jù)卷

docker部署jar包,docker,docker,java,容器,redis,mysql,jar

[client]

default_character_set=utf8

[mysqld]

collation_server=utf8_general_ci

character_set_server=utf8

?保存之后執(zhí)行docker restart mysql重啟容器

?3. docker部署redis

3.1 拉取redis鏡像

docker pull redis:6.0.8

3.2 創(chuàng)建配置文件

在宿主機(jī)上創(chuàng)建一個(gè)文件redis.conf, 路徑可以自定義, 這里提供一個(gè)配置文檔, 配置可根據(jù)自己的需求修改, 本文配置文件路徑: /usr/docker-redis/conf/reids.conf

# bind 127.0.0.1

protected-mode no

port 6379

tcp-backlog 511

#設(shè)置密碼為123456,可注釋掉
requirepass 123456

timeout 0

tcp-keepalive 300

daemonize no

supervised no

pidfile /var/run/redis_6379.pid

loglevel notice

logfile ""

databases 30

always-show-logo yes

save 900 1
save 300 10
save 60 10000

stop-writes-on-bgsave-error yes

rdbcompression yes

rdbchecksum yes

dbfilename dump.rdb

dir ./

replica-serve-stale-data yes

replica-read-only yes

repl-diskless-sync no

repl-disable-tcp-nodelay no

replica-priority 100

lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no

appendonly yes

appendfilename "appendonly.aof"

no-appendfsync-on-rewrite no

auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

aof-load-truncated yes

aof-use-rdb-preamble yes

lua-time-limit 5000

slowlog-max-len 128

notify-keyspace-events ""

hash-max-ziplist-entries 512
hash-max-ziplist-value 64

list-max-ziplist-size -2

list-compress-depth 0

set-max-intset-entries 512

zset-max-ziplist-entries 128
zset-max-ziplist-value 64

hll-sparse-max-bytes 3000

stream-node-max-bytes 4096
stream-node-max-entries 100

activerehashing yes

hz 10

dynamic-hz yes

aof-rewrite-incremental-fsync yes

rdb-save-incremental-fsync yes

* 注意:daemonize no是關(guān)閉守護(hù)線程,如果開(kāi)啟的話容器會(huì)啟動(dòng)不起來(lái)?

根據(jù)個(gè)人需求進(jìn)行配置?

3.3 執(zhí)行以下命令啟動(dòng)容器

docker run -d -p 6379:6379 --name redis \
-v /usr/docker-redis/conf/redis.conf:/etc/redis/redis.conf \
-v /usr/docker-redis/data:/data \
redis redis-server /etc/redis/redis.conf

參數(shù)說(shuō)明:
-d ? 后臺(tái)運(yùn)行
-p 6379:6379 ?端口映射,<宿主機(jī)端口>:<容器端口>
--name redis ? 容器名稱,可以自定義
-v /usr/docker-redis/conf/redis.conf:/etc/redis/redis.conf ?宿主機(jī)/usr/docker-redis/conf/redis.conf文件與容器的/etc/redis/redis.conf文件掛載
-v /usr/docker-redis/data:/data ?也是掛載,該目錄是redis數(shù)據(jù)持久化文件儲(chǔ)存的位置
redis ? ?鏡像名稱
redis-server /etc/redis/redis.conf ? 以上面redis.conf文件寫的配置啟動(dòng)redis

啟動(dòng)redis容器之后,執(zhí)行docker ps查看是否啟動(dòng)成功
如果沒(méi)有啟動(dòng)成功可以執(zhí)行命令docker logs <容器名稱或id>查看日志;如果日志沒(méi)有內(nèi)容可能是配置中開(kāi)啟了守護(hù)線程的原因,關(guān)閉即可

啟動(dòng)成功后,執(zhí)行docker exec -it redis redis-cli命令進(jìn)入容器
如果設(shè)置了密碼,執(zhí)行auth 123456(123456配置中的密碼,沒(méi)有配置密碼的直接跳過(guò)這步)

docker部署jar包,docker,docker,java,容器,redis,mysql,jar?到這里redis就安裝完成了

4. docker部署java jar

4.1 將jar上傳到需要構(gòu)建鏡像的目錄

4.2?在當(dāng)前目錄下創(chuàng)建Dockerfile編寫Dockerfile (最好命名Dockerfile,否則構(gòu)建需要指定文件名)

#基礎(chǔ)鏡像使用jdk1.8

FROM openjdk:8-jdk-alpine
?
#作者
MAINTAINER pan
?
# VOLUME 指定臨時(shí)文件目錄為/tmp,在主機(jī)/var/lib/docker目錄下創(chuàng)建了一個(gè)臨時(shí)文件并鏈接到容器的/tmp
VOLUME /tmp
?
# 將jar包添加到容器中并更名
ADD ruoyi-admin.jar app.jar
?
# 運(yùn)行jar包
RUN bash -c 'touch /app.jar'
?
# 為了縮短 Tomcat 啟動(dòng)時(shí)間,添加一個(gè)系統(tǒng)屬性指向 “/dev/./urandom” 作為 Entropy Source
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
?
#ENTRYPOINT ["nohup","java","-jar","/data/app/ruoyi-admin.jar","&"]
?
#暴露8080端口
EXPOSE 8080

?4.3?構(gòu)建鏡像 (需要在Dockerfile同級(jí)目錄下構(gòu)建,執(zhí)行次命令)

docker build -t app:1.0 .? ? # 注意末尾的點(diǎn)不能去掉

4.4 構(gòu)建成功后查看當(dāng)前的鏡像, 構(gòu)建過(guò)程中如果沒(méi)有拉取過(guò)openjdk:8-jdk-alpine,需要等待下載

docker images

4.5 啟動(dòng)后端項(xiàng)目鏡像

?docker run -d --name app-container?-p 8080:8080 app:1.0

?4.6 查看容器是否啟動(dòng)成功

docker?ps , 如果成功過(guò)則代表后端部署完成

docker部署jar包,docker,docker,java,容器,redis,mysql,jar

可以訪問(wèn)進(jìn)一步驗(yàn)證

docker部署jar包,docker,docker,java,容器,redis,mysql,jar

后端部署完成

4.7 如果容器沒(méi)有啟動(dòng)成功, 請(qǐng)看這一步

查看容器的日志

docker logs -f -t --tail 1000 [容器ID]

?通過(guò)日志確定問(wèn)題,將報(bào)錯(cuò)進(jìn)行復(fù)制,進(jìn)行百度搜索,自行解決?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-752609.html

到了這里,關(guān)于Docker DockerFile部署java jar項(xiàng)目包,以及Mysql,Redis的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 使用docker部署一個(gè)jar項(xiàng)目

    使用docker部署一個(gè)jar項(xiàng)目

    通過(guò)docker鏡像, docker可以在服務(wù)器上運(yùn)行包含項(xiàng)目所需運(yùn)行環(huán)境的docker容器, 在線倉(cāng)庫(kù)里有很多各個(gè)軟件公司官方發(fā)布的鏡像, 或者第三方的鏡像. 如果我們需要使用docker把我們的應(yīng)用程序打包成鏡像, 別的機(jī)器上只要安裝了docker, 就可以直接運(yùn)行鏡像, 而不需要再安裝應(yīng)用程序

    2024年02月14日
    瀏覽(45)
  • Docker部署(5)——使用docker run命令部署運(yùn)行jar項(xiàng)目

    Docker部署(5)——使用docker run命令部署運(yùn)行jar項(xiàng)目

    ???????對(duì)于一些簡(jiǎn)單的單體項(xiàng)目,可以使用 docker run 命令可以直接在命令行中運(yùn)行容器,無(wú)需事先構(gòu)建鏡像。這相較于之前使用的 dockerfile 文件來(lái)運(yùn)行部署項(xiàng)目相當(dāng)于是另外一種簡(jiǎn)單的部署方法,關(guān)于之前使用dockerfile 文件來(lái)運(yùn)行部署這種方法,具體可以參考下面這篇文章

    2024年02月10日
    瀏覽(27)
  • Docker部署Springboot應(yīng)用【mysql部署+jar部署+Nginx部署】

    Docker部署Springboot應(yīng)用【mysql部署+jar部署+Nginx部署】

    【項(xiàng)目達(dá)到目標(biāo)】 1.基本準(zhǔn)備 2、mysql部署 3、jar部署 4、Nginx部署 一、基本準(zhǔn)備 石工拿的就是之前放置在我們服務(wù)器上的應(yīng)用進(jìn)行部署,主要就是mysql和jar還有Vue的部署。 目前已經(jīng)有的是jar、已經(jīng)打包好的vue ? 二、mysql部署 docker run -d --name mysql ? ? --restart=always ?? ?-p 3

    2024年02月14日
    瀏覽(27)
  • docker  容器操作、應(yīng)用部署、mysql,redis,nginx、遷移與備份、Dockerfile

    docker 容器操作、應(yīng)用部署、mysql,redis,nginx、遷移與備份、Dockerfile

    mysql部署 redis nginx 常用和不常用的命令 dockerfile構(gòu)建一個(gè)django項(xiàng)目 docker私有倉(cāng)庫(kù) 鏡像傳到官方倉(cāng)庫(kù) 鏡像分層 私有倉(cāng)庫(kù)搭建 新建flask項(xiàng)目app.py 編寫Dockerfile 用于構(gòu)建flask項(xiàng)目的鏡像 編寫dockercompose的yml文件dockercompose.yml dockercompose啟動(dòng) 項(xiàng)目目錄結(jié)構(gòu) luffy_api/Dockerfile 構(gòu)建uwsgi+dj

    2023年04月13日
    瀏覽(58)
  • 【Docker】5、Dockerfile 自定義鏡像(鏡像結(jié)構(gòu)、Dockerfile 語(yǔ)法、把 Java 項(xiàng)目弄成鏡像)

    【Docker】5、Dockerfile 自定義鏡像(鏡像結(jié)構(gòu)、Dockerfile 語(yǔ)法、把 Java 項(xiàng)目弄成鏡像)

    鏡像結(jié)構(gòu) Dockerfile 語(yǔ)法 構(gòu)建 Java 項(xiàng)目 ① 之前使用的鏡像都是 DockerHub 官方提供的 ② 開(kāi)發(fā)者需要將自己的微服務(wù)制作為鏡像 鏡像 是由 應(yīng)用程序 及其需要的 系統(tǒng)函數(shù)庫(kù) 、 環(huán)境 、 配置 、 依賴 打包而成。 ?? 鏡像是 分層結(jié)構(gòu) ,每一層稱為一個(gè) Layer 1?? BaseImage 層:包含基

    2024年02月03日
    瀏覽(17)
  • (三)docker:Dockerfile構(gòu)建容器運(yùn)行jar包

    (三)docker:Dockerfile構(gòu)建容器運(yùn)行jar包

    目錄結(jié)構(gòu)以及準(zhǔn)備的文件 2.Dockerfile內(nèi)容 3.構(gòu)建鏡像 4.查看生成鏡像 5.創(chuàng)建并運(yùn)行容器 6.查看創(chuàng)建的容器 7.啟動(dòng)畫面確認(rèn)

    2024年02月06日
    瀏覽(19)
  • 【jenkins】idea+jenkins+docker+dockerfile+compose流水線部署java應(yīng)用

    【jenkins】idea+jenkins+docker+dockerfile+compose流水線部署java應(yīng)用

    目錄 整體架構(gòu) 環(huán)境準(zhǔn)備 安裝docker以及docker-compose jenkins安裝 maven安裝 portainer面板安裝 sonarqube安裝? 在項(xiàng)目中增加dockerfile和compose.yml腳本 ?Dockerfile腳本內(nèi)容 compose.yml腳本內(nèi)容 jenkins安裝必要插件 jenkins增加流水線任務(wù) 增加pipeline任務(wù)job ?增加pipeline腳本 WXWork Notification Plugin?

    2024年02月16日
    瀏覽(54)
  • windows部署python項(xiàng)目(以Flask為例)到docker,通過(guò)腳本一鍵生成dockerfile并構(gòu)建鏡像啟動(dòng)容器

    windows部署python項(xiàng)目(以Flask為例)到docker,通過(guò)腳本一鍵生成dockerfile并構(gòu)建鏡像啟動(dòng)容器

    這里使用 pipreqs 進(jìn)行依賴庫(kù)的識(shí)別。使用 pipreqs 可以自動(dòng)檢索到當(dāng)前項(xiàng)目下的所有組件及其版本,并生成 requirements.txt 文件。相比直接用pip freeze 命令,避免將整個(gè)python環(huán)境的依賴包寫入。 在項(xiàng)目的當(dāng)前目錄中執(zhí)行 pipreqs ./ --encoding=utf8 --force 這里使用的是一個(gè)基于flask項(xiàng)目,

    2023年04月08日
    瀏覽(35)
  • jar包部署到linux虛擬機(jī)的docker中之后連不上mysql

    jar包部署到linux虛擬機(jī)的docker中之后連不上mysql

    跟著黑馬學(xué)習(xí)docker的時(shí)候,將java項(xiàng)目部署到了docker中,運(yùn)行訪問(wèn)報(bào)錯(cuò),反饋連不上mysql。 概述: 在虛擬中中,我進(jìn)入項(xiàng)目容器的內(nèi)部,嘗試ping mysql,發(fā)現(xiàn)ping不通, 然后查看其ip,發(fā)現(xiàn)不在同一個(gè)網(wǎng)段中,故基本可以鎖定問(wèn)題原因就是沒(méi)有將項(xiàng)目跟mysql容器部署到同一個(gè)網(wǎng)絡(luò)

    2024年01月21日
    瀏覽(23)
  • Docker:使用dockerFile創(chuàng)建鏡像(war包和jar包)

    1、使用war包打鏡像 (1)在war的當(dāng)前路徑下,新建一個(gè)文件——Dockerfile (2)編輯Dockerfile文件 ? ?vim Dockerfile Dockerfile文件內(nèi)容: FROM java:8????????????????# 選擇項(xiàng)目中要求的版本 MAINTAINER ylb?????????????# 作者 WORKDIR /穿件文件夾的路徑????# 選擇項(xiàng)目中要求的

    2024年02月15日
    瀏覽(29)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包