安装nginx
nginx公共镜像安装
获取镜像
docker pull nginx
查看镜像
docker images
安装容器
docker run --name=nginx -p 80:80 -v /root/jms/volumes/nginx/logs/:/var/log/nginx/ -v /root/jms/volumes/nginx/conf.d/:/etc/nginx/conf.d/ --privileged=true -v /root/jms/volumes/nginx/html/:/usr/share/nginx/html/ -idt nginx:latest
nginx - Dockerfile安装
获取镜像
docker pull nginx
编写Dockerfile文件
# FROM 192.168.1.234:9080/jms-nginx:v1.21.5
FROM nginx:latest
#作者
MAINTAINER liujiaolong liujiaolong198@163.com
#拷贝tomcat jdk 到镜像并解压
WORKDIR /opt/public
COPY /dist /opt/public/
COPY ./nginx.conf /opt/nginx/conf/nginx.conf
RUN chmod -R 755 /opt/public/*
#设置暴露的端口
EXPOSE 8080
#运行tomcat
CMD ["nginx", "-c", "/opt/nginx/conf/nginx.conf"]
生成镜像
docker build -t nginx:v1.0.0 .
配置文件,以博客为例
1、切换到cd /root/jms/volumes/nginx/conf.d
配置文件目录,编写博客配置文件
blog.ljlms.cn.conf
server {
listen 80;
server_name blog.ljlms.cn;
access_log /var/log/nginx/blog.ljlms.cn.access.log;
location / {
root /usr/share/nginx/html/blogs/;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
2、切换到cd /root/jms/volumes/nginx/html
项目存放的文件路径下,上传项目,目录如下
[root@iZ2vc1t8vj9b1idljw1w5dZ html]# ls
50x.html blogs index.html
[root@iZ2vc1t8vj9b1idljw1w5dZ html]# cd blogs/
[root@iZ2vc1t8vj9b1idljw1w5dZ blogs]# ls
404.html assets blogs global head.jpg index.html router
前端服务访问方式,提示找不到css问题配置
server {
listen 80;
server_name localhost;
charset UTF-8;
access_log /var/log/nginx/a.log main;
root /usr/share/nginx/html/a;
location /api/api/ {
proxy_pass http://xxxx:8080/a/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location / {
try_files $uri $uri/ @router;
index index.html;
}
location @router {
rewrite ^.*$ index.html last;
}
}
安装 MongoDB数据库
MongoDB 是一个免费的开源跨平台面向文档的 NoSQL 数据库程序。
- 获取镜像
docker pull mongo
- 运行容器
docker run -itd --name mongo -p 27017:27017 mongo --auth
参数说明:
- -p 27017:27017 :映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务。
- –auth:需要密码才能访问容器服务。
- 添加用户和设置密码,并且尝试连接。
$ docker exec -it mongo mongo admin
# 创建一个名为 admin,密码为 123456 的用户。
> db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
# 尝试使用上面创建的用户信息进行连接。
> db.auth('admin', '123456')
安装spring cloud alibaba的服务注册与发现(nacos)组件
- 安装docker
- 利用docker,安装mysql
- 创建network,jms,并将mysql加入jms
docker network create -d bridge jms
docker network connect jms mysql
- 下载sql,初始化数据库
# 下载数据库文件
https://github.com/alibaba/nacos/blob/master/distribution/conf/nacos-mysql.sql
- 安装nacos
nacos和数据库一起
mkdir /root/jms/volumns/nacos/logs
docker pull nacos/nacos-server
docker run -d -e PREFER_HOST_MODE=hostname -e MODE=standalone -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_SERVICE_HOST=mysql -e MYSQL_SERVICE_PORT=3306 -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD=Forms1234 -e MYSQL_SERVICE_DB_NAME=nacos -v /root/jms/volumns/nacos/logs:/home/nacos/logs -p 8848:8848 -p 9848:9848 -p 9555:9555 --name nacos --network jms --restart=always nacos/nacos-server
nocos和数据库分开
创建配置文件
/root/jms/volumes/cloud/nacos/init.d/custom.properties
server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://mysql:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=cloud
db.password=cloud1234
nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,
nacos.naming.distro.taskDispatchThreadCount=1
nacos.naming.distro.taskDispatchPeriod=200
nacos.naming.distro.batchSyncKeyCount=1000
nacos.naming.distro.initDataRatio=0.9
nacos.naming.distro.syncRetryDelay=5000
nacos.naming.data.warmup=true
nacos.naming.expireInstance=true
创建容器
docker run \
--name nacos -d \
-p 8848:8848 \
--privileged=true \
--restart=always \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-v /root/jms/volumes/cloud/nacos/logs:/home/nacos/logs \
-v /root/jms/volumes/cloud/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
nacos/nacos-server
- 开通防火墙,进行浏览器访问测试
http://172.29.147.165:8848/nacos
安装spring-cloud-alibaba的熔断器仪表盘监控-Sentinel-组件
- 下载并打包
docker pull bladex/sentinel-dashboard
docker run --name sentinel -d -p 8858:8858 -d bladex/sentinel-dashboard
- 启动控制台
访问服务:http://172.29.147.165:8858/
安装mariadb
- 拉去镜像
docker pull mariadb
- 创建数据映射目录
mkdir -p /root/jms/volumes/mariadb/data
- 创建容器
docker run --name mariadb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=输入数据库root用户的密码 -v /root/jms/volumes/mariadb/data:/var/lib/mysql -d mariadb
- 查看容器是否运行
docker ps -a
- 修改容器为自启动
docker container update --restart=always
安装redis
- 拉去镜像
docker pull redis
- 创建容器
docker run -itd --name redis -p 6379:6379 redis
安装tomcat
tomcat - 公共镜像安装
- 选取镜像
https://hub.docker.com/_/tomcat
- 拉取镜像
docker pull tomcat:9.0.54-jdk17-temurin-focal
- 创建容器
docker run --name tomcat -p 8080:8080 -v $PWD:/usr/local/tomcat/webapps -e TZ="Asia/Shanghai" -d tomcat:9.0.54-jdk17-temurin-focal
安装达梦数据库
dm - 公共镜像安装
dm - Dockerfile安装
编写Dockerfile文件
FROM dm8:v01
# 作者
MAINTAINER luojinhong 2008luojinhong@163.com
# 设置暴露的端口
EXPOSE 5236
# 运行tomcat
CMD ["/bin/bash", "/startDm.sh"]