使用docker部署java項(xiàng)目運(yùn)行環(huán)境的實(shí)現(xiàn)步驟
一、環(huán)境準(zhǔn)備
1. CentOS-7-x86_64-DVD-2003.iso
2. docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm
3. emqx-4.2.6.tar
4. influxdb-1.7-alpine.tar
5. mysql-5.7.tar
6. reids-6-alpine.tar
7. xshell (連接centos7)
8. xftp (上傳文件)
二、配置網(wǎng)絡(luò)
1.切換目錄
[root@localhost app]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ls ifcfg-enp0s3
2.修改網(wǎng)絡(luò)配置文件配置靜態(tài)ip
修改項(xiàng):
BOOTPROTO="static"
新增項(xiàng):
IPADDR=192.168.1.153 NETWORK=255.255.255.0 GATEWAY=192.168.1.1 HWADDR=08:00:27:3B:CE:45 DNS1=114.114.114.114 DNS2=192.168.1.1
配置文件示例:
TYPE="Ethernet" PROXY_METHOD="yes" BROWSER_ONLY="no" BOOTPROTO="static" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="enp0s3" UUID="d8a2c147-efe7-4913-a3aa-f63ffb62335e" DEVICE="enp0s3" ONBOOT="yes" IPADDR=192.168.1.153 NETWORK=255.255.255.0 GATEWAY=192.168.1.1 HWADDR=08:00:27:3B:CE:45 DNS1=114.114.114.114 DNS2=192.168.1.1
3.重啟網(wǎng)卡
service network restart
4.驗(yàn)證網(wǎng)絡(luò)是否通暢
ping www.baidu.com
三、開(kāi)放端口
? 開(kāi)端口命令:
firewall-cmd --zone=public --add-port=80/tcp --add-port=3306/tcp --add-port=6379/tcp --add-port=8081/tcp --add-port=1883/tcp --add-port=8083/tcp --add-port=8883/tcp --add-port=8084/tcp --add-port=18083/tcp --add-port=8086/tcp --permanent
? 重啟防火墻:
systemctl restart firewalld.service
? 查看開(kāi)啟的所有端口:
firewall-cmd --list-ports
命令含義:
- ? --zone #作用域
- ? --add-port=80/tcp #添加端口,格式為:端口/通訊協(xié)議
- ? --permanent #永久生效,沒(méi)有此參數(shù)重啟后失效
四、安裝jdk
? 1.解壓jdk安裝包
tar -zxvf jdk-8u261-linux-x64.tar.gz
? 2.查看jdk路徑
[root@localhost tool]# cd jdk1.8.0_261/ [root@localhost jdk1.8.0_261]# pwd /opt/tool/jdk1.8.0_261
? 3.配置環(huán)境變量
[root@localhost jdk1.8.0_261]# vi /etc/profile
在profile文件末尾加上以下配置(按鍵 i 進(jìn)入編輯模式,:wq 保存并退出)
#java export JAVA_HOME=/opt/tool/jdk1.8.0_261 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
? 4.使配置生效并驗(yàn)證
[root@localhost jdk1.8.0_261]# source /etc/profile [root@localhost jdk1.8.0_261]# java -version java version "1.8.0_261" Java(TM) SE Runtime Environment (build 1.8.0_261-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)
五、安裝docker
? 1.yum 安裝docker
yum install -y docker-ce-18.03.0.ce-1.el7.centos.x86_64.rpm
? 2.啟動(dòng)docker,設(shè)置開(kāi)機(jī)啟動(dòng)并驗(yàn)證
[root@localhost tool]# systemctl start docker.service [root@localhost tool]# systemctl enable docker.service Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service. [root@localhost tool]# docker version Client: ?Version:?? ?18.03.0-ce ?API version:?? ?1.37 ?Go version:?? ?go1.9.4 ?Git commit:?? ?0520e24 ?Built:?? ?Wed Mar 21 23:09:15 2018 ?OS/Arch:?? ?linux/amd64 ?Experimental:?? ?false ?Orchestrator:?? ?swarm Server: ?Engine: ? Version:?? ?18.03.0-ce ? API version:?? ?1.37 (minimum version 1.12) ? Go version:?? ?go1.9.4 ? Git commit:?? ?0520e24 ? Built:?? ?Wed Mar 21 23:13:03 2018 ? OS/Arch:?? ?linux/amd64 ? Experimental:?? ?false
? 3.設(shè)置鏡像加速器
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://p9gdavtl.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
六、運(yùn)行環(huán)境搭建
導(dǎo)出鏡像
[root]# docker save > mysql-5.7.tar mysql:5.7
? 1.導(dǎo)入鏡像
[root@localhost tool]# docker load < influxdb-1.7-alpine.tar [root@localhost tool]# docker load < mysql-5.7.tar [root@localhost tool]# docker load < emqx-4.2.6.tar [root@localhost tool]# docker load < reids-6-alpine.tar
2.啟動(dòng)鏡像
? 2.1 啟動(dòng)mysql
[root@localhost tool]# sudo docker run --restart=always -p 3306:3306 --name mysql -v /opt/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 --lower_case_table_names=1
? 2.2 啟動(dòng)redis
[root@localhost tool]# docker run --restart=always -p 6379:6379 --name redis -v /opt/redis/data:/data -d redis:6-alpine redis-server --requirepass "123456" --appendonly yes
? 2.3 啟動(dòng)emqx
[root@localhost tool]# docker run --restart=always -d --name emqx -p 8081:8081 -p 1883:1883 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqx/emqx:4.2.6
2.4 啟動(dòng)influxdb (不需要安裝)
[root@localhost tool]# docker run --restart=always -d -p 9083:8083 -p 8086:8086 --name influxdb influxdb:1.7-alpine
? 2.4.1 進(jìn)入容器,創(chuàng)建用戶
[root@localhost tool]# docker exec -it cf bash
2.4.2
bash-5.0# influx
? 2.4.3 創(chuàng)建用戶名密碼
create user "root" with password '123456' with all privileges
? 2.4.4 用戶名密碼登陸
bash-5.0# influx -username 'root' -password '123456'
五.啟動(dòng)java項(xiàng)目
nohup java -jar demo.jar >catalina.out 2>&1 &
到此這篇關(guān)于使用docker部署java項(xiàng)目運(yùn)行環(huán)境的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)使用docker部署java項(xiàng)目運(yùn)行環(huán)境的實(shí)現(xiàn)步驟內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker Compose一鍵ELK部署的方法實(shí)現(xiàn)
這篇文章主要介紹了Docker Compose一鍵ELK部署的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01Docker進(jìn)入容器運(yùn)行命令的詳細(xì)指南
Docker 是一個(gè)開(kāi)源的容器化平臺(tái),廣泛應(yīng)用于開(kāi)發(fā)和生產(chǎn)環(huán)境中,它允許開(kāi)發(fā)者打包應(yīng)用程序及其依賴項(xiàng)到容器中,本文將詳細(xì)介紹如何通過(guò) Docker 進(jìn)入容器內(nèi)部運(yùn)行命令,探討不同的場(chǎng)景和工具,并提供相關(guān)代碼示例,需要的朋友可以參考下2024-11-11使用minikube安裝k8s單節(jié)點(diǎn)集群方式
本文主要介紹了minikube的使用方法,包括安裝、啟動(dòng)、鏡像管理等步驟,minikube是一個(gè)專注于讓Kubernetes更易于學(xué)習(xí)和開(kāi)發(fā)的本地Kubernetes環(huán)境,支持在macOS、Linux和Windows上快速設(shè)置本地Kubernetes集群2024-10-10Docker內(nèi)網(wǎng)穿透frp部署實(shí)現(xiàn)過(guò)程解析
這篇文章主要介紹了Docker內(nèi)網(wǎng)穿透frp部署實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11