docker 常用镜像安装使用

安装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 数据库程序。

  1. 获取镜像
docker pull mongo
  1. 运行容器
docker run -itd --name mongo -p 27017:27017 mongo --auth

参数说明:

  • -p 27017:27017 :映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务。
  • –auth:需要密码才能访问容器服务。
  1. 添加用户和设置密码,并且尝试连接。
$ 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)组件

  1. 安装docker
  2. 利用docker,安装mysql
  3. 创建network,jms,并将mysql加入jms
docker network create -d bridge jms

docker network connect jms mysql
  1. 下载sql,初始化数据库
# 下载数据库文件
https://github.com/alibaba/nacos/blob/master/distribution/conf/nacos-mysql.sql

  1. 安装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
  1. 开通防火墙,进行浏览器访问测试
http://172.29.147.165:8848/nacos

安装spring-cloud-alibaba的熔断器仪表盘监控-Sentinel-组件

  1. 下载并打包
docker pull bladex/sentinel-dashboard

docker run --name sentinel -d -p 8858:8858 -d bladex/sentinel-dashboard
  1. 启动控制台

访问服务:http://172.29.147.165:8858/

安装mariadb

  1. 拉去镜像
docker pull mariadb 
  1. 创建数据映射目录
mkdir -p /root/jms/volumes/mariadb/data
  1. 创建容器
docker run --name mariadb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=输入数据库root用户的密码 -v /root/jms/volumes/mariadb/data:/var/lib/mysql -d mariadb
  1. 查看容器是否运行
docker ps -a
  1. 修改容器为自启动
docker container update --restart=always

安装redis

  1. 拉去镜像
docker pull redis 
  1. 创建容器
docker run -itd --name redis -p 6379:6379 redis

安装tomcat

tomcat - 公共镜像安装

  1. 选取镜像
https://hub.docker.com/_/tomcat
  1. 拉取镜像
docker pull tomcat:9.0.54-jdk17-temurin-focal
  1. 创建容器
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"]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值