目录
1.在根创建目录/u01/soft/3d-map,并将项目jar包与配置文件yml复制到该目录下
2、简单启动一个nginx服务(仅用来复制配置文件,复制完即删除此容器)
8、前端文件放在/home/java/nginx/html文件夹下并解压
3、把ik配置文件复制到挂载文件夹/u01/soft/elasticsearch/plugins/analysis-ik/下面
Docker安装
设置仓库。新主机上首次安装Docker Engine-Community之前,需要设置Docker仓库。此后可从仓库安装和更新Docker。
在设置仓库之前,需先按照所需的软件包。yum-utils提供了yum-config-manager,并且device mapper存储驱动程序需要device-mapper-persistent-data和lvm2。
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
执行上述命令,安装完毕即可进行仓库的设置。使用官方源地址设置命令如下:
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
通常,官方的源地址比较慢,可将上述的源地址替换为国内比较快的地址:
-
阿里云:http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
-
清华大学源:https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
仓库设置完毕,即可进行Docker的安装。
进入docker文件夹执行一下命令,安装最新版本的 Docker Engine-Community 和 containerd。
sudo yum install -y docker-ce docker-ce-cli containerd.io
docker-ce为社区免费版本。稍等片刻,docker即可安装成功。但安装完成之后的默认是未启动的,需要进行启动操作。
如果不需要docker-ce-cli或containerd.io可直接执行如下命令:
yum install -y docker-ce
卸载Docker(可选)
卸载历史版本。这一步是可选的,如果之前安装过旧版本的Docker,可以使用如下命令进行卸载:
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
常用命令
启动 systemctl start docker
重启 systemctl restart docker
关闭 systemctl stop docker
firewall-cmd --list-ports
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
查看镜像:docker images
拉取镜像:docker pull 镜像名
镜像改名 docker image tag ID 名称:版本
删除镜像 docker rmi -f 名称
运行镜像 docker --name 从命名 run -d -p 8080:8080 镜像名称:版本
更新默认启动 docker update redis --restart=always
查看所有容器:docker ps -a
进入容器 docker exec -it 【容器id或名称】 bash
不启动进入容器 docker run -it --rm --entrypoint="" 容器名 /bin/bash
删除容器 docker rm -f ID
启动(停止的)容器:docker start 容器ID
停止容器:docker stop 容器ID
重启容器:docker restart 容器ID
启动日志 docker logs 容器id
docker制作jar镜像
1.在根创建目录/u01/soft/3d-map,并将项目jar包与配置文件yml复制到该目录下
1.1将下载好的jdk8也放在上述目录下,jdk名称与下面Dockerfile中对上
2.创建Dockerfile文件,文件内容:
# 设置本镜像需要使用的基础镜像
FROM openjdk:8-jre
#FROM java:8
ENV TZ=PRC
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 把jar包添加到镜像中
ADD 3d-map.jar /3d-map.jar
# 镜像暴露的端口
EXPOSE 8090
RUN bash -c 'touch /3d-map.jar'
RUN mkdir -p config
COPY application.yml /config/
# 容器启动命令
ENTRYPOINT ["java","-jar","/3d-map.jar", "--spring.config.location=/config/application.yml", "-Duser.timezone=GMT+08", ">/dev/null 2>&1 &"]
# 设置时区
# RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezon
在上级目录/soft路径下执行命令
docker build -t 3d-map -f dockerfile .
至此镜像制作完毕,然后制作容器并启动,注意 - 可能变成中文 -
docker run --name 3d -p 8090:8090 \
--network host --privileged=true \
-v /home/docker/3d/config:/config \
-v /home/docker/3d/3d-map.jar:/3d-map.jar \
-v /home/docker/3d-map/3d/logs:/home/docker/3d-map/3d/logs \
-d 3d-map
docker部署前端
拉取docker中nginx镜像
docker pull nginx
1、本地创建nginx挂载路径
mkdir /home/java/nginx/conf
mkdir /home/java/nginx/conf.d
mkdir /home/java/nginx/html
2、简单启动一个nginx服务(仅用来复制配置文件,复制完即删除此容器)
docker run --name nginx_test -d -p 80:80 nginx
3、复制nginx配置文件到宿主机
docker cp nginx_test:/etc/nginx/conf.d /home/java/nginx/conf.d/
docker cp nginx_test:/etc/nginx/nginx.conf /home/java/docker/nginx/conf/
docker cp nginx_test:/usr/share/nginx/html/ /home/java/nginx/html/
4、移除容器
docker rm -f nginx_test
5、修改配置文件
user root;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
#stream {
#
#
#upstream test {
#
# server 128.168.11.111:6000;
# server 128.168.11.112:6000;
# server 128.168.11.113:6000;
#}
#
#
#
#server {
#
# listen 2000 so_keepalive=on;
#
# proxy_pass test ;
# proxy_timeout 60000s;
# proxy_connect_timeout 60000s;
#
#
# proxy_responses 0;
#}
#
#}
http {
include /etc/nginx/mime.types;
#default_type application/octet-stream;
upstream test1 {
server 192.168.10.63:8080;
# server 128.168.11.112:6000;
# server 128.168.11.113:6000;
}
server {
listen 80;
#server_name localhost;
#vue-router配置
#location / {
# try_files $uri $uri/ @router;
# index index.html;
#}
#location @router {
# rewrite ^.*$ /index.html last;
#}
#location / {
# root html;
# index index.html index.htm;
#}
location / {
alias /usr/share/nginx/html/dist/;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location /MOC {
proxy_pass http://test1;
#proxy_set_header Host $host;
#proxy_set_header X-Forwarded-Proto $scheme;
#proxy_set_header X-Forwarded-Port $server_port;
#proxy_set_header X-Forwarded-Host $host;
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#default_type text/html;
#add_header Content-Type "text/html;charset=utf-8";
#add_header 'Access-Control-Allow-Origin' '*';
#add_header 'Access-Control-Allow-Credentials' 'true';
#add_header 'Access-Control-Allow-Methods' 'GET, POST';
#rewrite /MOC/(.*)$ /$1 break;
}
}
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
6、创建nginx网络
docker network create nginx_network
7、创建容器
docker run --name nginx -p 80:80 \
-v /home/java/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf \
-v /home/java/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/java/nginx/html/:/usr/share/nginx/html/ \
-v /home/java/nginx/logs/:/var/log/nginx/ \
--privileged=true -d --restart=always nginx
8、前端文件放在/home/java/nginx/html文件夹下并解压
unzip dist.zip
9、访问页面80端口查看
安装oracle
使用阿里镜像直接拉取 docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
启动容器
docker run -d -it -p 1521:1521 --name oracle11g --restart=always registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
查看运行状态 docker ps -a
容器内环境配置
进入容器 docker exec -it oracle11g bash
切换到 root 用户 su root
,密码为 helowin
配置环境变量 vi /home/oracle/.bashrc
,在文件最后加入以下命令
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
保存并退出。然后使用 source /home/oracle/.bashrc
刷新环境变量,并使之生效
进入 oracle 命令行
使用 sqlplus /nolog
进入oracle命令行
使用 “操作系统认证” 的方式,登录oracle conn / as sysdba
如果直接使用默认的 root 用户登录,会报登录失败。这里必须退出后使用 su - oracle
命令,将当前用户切换到 oracle,然后在执行登录命令
阿里的这个镜像,所有的密码都是统一的 helowin
system用户具有DBA权限,但是没有SYSDBA权限。平常一般用该帐号管理数据库。
而sys用户是Oracle数据库中权限最高的帐号,具有“SYSDBA”和“SYSOPER”权限,一般不允许从外部登录
防火墙要允许 1521 端口,外部的数据库管理工具才能连的上
开防火墙-查列表-开端口-重启防火墙
systemctl stop firewalld
systemctl status firewalld
systemctl start firewalld
firewall-cmd --list-ports
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
安装完毕,用Navicat测试链接
新建用户
根据情况分配权限
点击保存,用户创建完成,就可以建表了
idea链接
# Spring配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: oracle.jdbc.driver.OracleDriver
druid:
# 主库数据源
master:
url: jdbc:oracle:thin:@128.168.11.130:1521/helowin
username: MOC
password: 1qaz@WSX
注:如果已有数据结构,则点击工具,同步原本数据库结构到新数据库即可
redis安装
#下载镜像并指定版本
docker pull redis:6.0
#创建本地映射目录用于挂载redis 配置文件和数据文件(便于以后修改配置文件)
mkdir -p /home/docker/redis/conf/
mkdir -p /home/docker/redis/data/
#修改文件权限为可编辑 表示所有文件
chmod -R 777 /home/docker/
下载配置文件 redis.conf,两种方式(推荐第二种):
1、下载配置文件 redis.conf
redis.conf文件可以到官网(http://www.redis.cn/download.html)下,然后再上传到服务器:,下载后找到redis.conf这个文件上传到服务器
2、命令下载配置文件 redis.conf
进入conf文件夹目录,进行下载
wget http://download.redis.io/redis-stable/redis.conf
#vim修改配置文件
bind 127.0.0.1 #注释掉这部分,使redis可以外部访问
#创建容器
sudo docker run -p 6379:6379 --name redis -v /home/docker/redis/conf:/etc/redis/redis.conf -v /home/docker/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
打开容器自启docker update redis --restart=always
#参数说明
appendonly yes #开启AOF模式
appendfilename “appendonly.aof” #保存数据的AOF文件名称
-p 6379:6379 端口映射:前表示主机部分,:后表示容器部分。
–name redis 指定该容器名称,查看和进行操作都比较方便。
-v 挂载文件或目录 :前表示主机部分,:后表示容器部分。
-d redis 表示后台启动redis
/home/docker/redis/conf 配置文件目录
redis-server /etc/redis/redis.conf以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/home/docker/redis/conf
–appendonly yes 开启redis 持久化
redis安装完成
elasticsearch安装
1 拉取elasticsearch镜像
docker pull elasticsearch:7.9.3
2 创建用于挂载的目录
mkdir -p /home/docker/elasticsearch/conf
mkdir -p /home/docker/elasticsearch/data
mkdir -p /home/docker/elasticsearch/plugins
chmod -R 777 /home/docker/elasticsearch/
echo "http.host: 0.0.0.0" >> /home/docker/elasticsearch/config/elasticsearch.yml
修改配置文件,添加跨域
http.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-methods: OPTIONS,HEAD,GET,POST,PUT,DELETE
http.cors.allow-headers: Content-Type,Accept,Authorization,x-requested-with
3 使用镜像创建容器
注:如果创建容器时plugins里有ik插件,可能会报错,所以先创建容器再下载ik插件
docker run -d --name es --restart=always -p 9200:9200 -p 9300:9300 \
-v /home/docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /home/docker/elasticsearch/data:/usr/share/elasticsearch/data \
-v /home/docker/elasticsearch/logs:/usr/share/elasticsearch/logs \
-v /home/docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.9.3
-e "discovery.type=single-node" :单节点运行
-e ES_JAVA_OPTS="-Xms64m -Xmx128m":设初始内存64m 最大内存128m
–p:映射宿主主机端口
-v:挂载宿主目录到容器目录
-d:后台运行容器
--restart=always: 开机启动
增加es内存
(1)切换到root用户:
su root
(2)输入命令:
sysctl -w vm.max_map_count=262144
检查修改结果:
sysctl -w vm.max_map_count=262144
(3)修改 /etc/sysctl.conf文件
vim /etc/sysctl.conf
vm.max_map_count=262144
5 配置ik分词器
1、进入es容器
docker exec -it es bash
2、下载ik插件
(方式1)直接拉取到plugin
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.9.3/elasticsearch-analysis-ik-7.9.3.zip
(方式2)官网下载es,再安装
https://github.com/medcl/elasticsearch-analysis-ik/tags
下载完把ik安装包复制到容器的root目录下
docker cp elasticsearch-analysis-ik-7.9.3.zip es:/root/
docker exec -it es elasticsearch-plugin install file:///root/elasticsearch-analysis-ik-7.9.3.zip
3、把ik配置文件复制到挂载文件夹/u01/soft/elasticsearch/plugins/analysis-ik/下面
docker cp es:/usr/share/elasticsearch/config/analysis-ik/ /home/docker/elasticsearch/plugins/analysis-ik/
4、修改es容器的analysis-ik的目录名
mv /usr/share/elasticsearch/config/analysis-ik /usr/share/elasticsearch/config/ik
5、退出容器重命名配置文件夹
mv /home/docker/soft/elasticsearch/plugins/analysis-ik/analysis-ik /home/docker/elasticsearch/plugins/analysis-ik/config
6、退出es容器,配置自定义远程扩展字典
在config下创建一个my.dic文件,作为自定义分词的文件,再把my.dic文件名加入到IKAnalyzer配置文件里面去,
vi /home/docker/elasticsearch/plugins/ik/config/IKAnalyzer.cfg.xml
重启es,即完成ik配置
kibana安装
docker pull kibana:7.9.3
创建文件夹
启动镜像,创建挂载文件夹
docker run -d --name kibana -p 5601:5601 \
-v /home/docker/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml \
kibana:7.9.3
mkdir -p /home/docker/kibana
chmod -R 777 /home/docker/kibana/
配置文件拷贝出来
mkdir -p /home/docker/kibana/config
docker cp kibana:/usr/share/kibana/config /home/docker/kibana/
修改配置文件,重启kibana,访问ip:5601
server.host: "0"
elasticsearch.hosts: [ "http://192.168.10.63:9200" ]
monitoring.ui.container.elasticsearch.enabled: true
# 这里配置中文显示,默认为英文 【English - en (default)、Chinese - zh-CN、Japanese - ja-JP】
i18n.locale: "zh-CN"