docker安装部署mysql,redis,rocketmq,nacos详细教程,附部分基础命令

CentOS安装Docker,及Docker部署常见容器 [目标位置]/seata/application.ymlseata:# 配置中心-nacosconfig:nacos:server-addr: [nacos地址]:8848namespace:# 注册中心-nacosregistry:nacos:server-addr: [nacos地址]:8848namespace:cluster: default # TC 集群名称,下文 Seata 客户端中配置事务分组名和集群名映射使用。 阅读详情

以下是为 Ubuntu 24.04.1 定制的详细 Docker 教程,使用镜像加速,并包含 MySQL、Tomcat、Redis、RocketMQ、Nacos 的安装配置。


一、安装 Docker(阿里云镜像加速)

1. 卸载旧版本(如有)
sudo apt-get remove docker docker-engine docker.io containerd runc
2. 安装依赖
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
3. 配置阿里云 Docker 镜像加速
# 添加 Docker 官方 GPG 密钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 添加阿里云 Docker 镜像源
sudo echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 更新源并安装 Docker
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
4. 启动 Docker 并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
5. 验证 Docker 安装
docker --version

若遭遇了权限拒绝的问题。

解决办法

方法一:使用 sudo 命令以 root 权限运行 Docker 命令

在执行 Docker 命令时,于命令前添加 sudo,以 root 权限来运行:

sudo docker version

之后输入当前用户的密码,若密码正确,命令就会以 root 权限执行。

不过,每次执行 Docker 命令都使用 sudo 会稍显繁琐,并且存在一定的安全风险。所以,推荐采用下面的方法,将当前用户添加到 docker 用户组。

方法二:将当前用户添加到 docker 用户组
  1. 检查 docker 用户组是否存在
    可以使用以下命令查看系统中是否存在 docker 用户组:
cat /etc/group | grep docker

若存在 docker 用户组,会显示类似如下的信息:

docker:x:999:
  1. 创建 docker 用户组(若不存在)
    若系统中不存在 docker 用户组,可以使用以下命令创建:
sudo groupadd docker
  1. 将当前用户添加到 docker 用户组
    使用以下命令将当前用户添加到 docker 用户组:
sudo usermod -aG docker $USER

这里的 $USER 是当前用户的用户名。

  1. 更新用户组信息
    为了让修改生效,你可以注销当前用户,然后重新登录。或者使用以下命令更新当前会话的用户组信息:
newgrp docker
  1. 验证修改是否生效
    再次运行 docker version 命令,查看是否还会出现权限拒绝的错误:
docker version

在这里插入图片描述

注意事项

  • 把用户添加到 docker 用户组后,该用户就拥有了与 root 相近的权限,因为 Docker 允许用户以特权模式运行容器。所以,要谨慎管理 docker 用户组的成员。
  • 若在执行上述操作后仍有问题,可能需要检查 /var/run/docker.sock 文件的权限设置,确保该文件的权限允许 docker 用户组访问。可以使用以下命令查看和修改文件权限:
ls -l /var/run/docker.sock
sudo chmod 666 /var/run/docker.sock

不过,将 /var/run/docker.sock 文件的权限设置为 666 会使所有用户都能访问该文件,存在一定的安全风险,仅在必要时使用。

二. 部署

1,配置镜像
# 依次执行 
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://dawk9aew.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

# 也可多配一点(用下面的替换上面的json即可)
{
  "registry-mirrors": ["https://hub.atomgit.com/repos","https://docker.m.daocloud.io","https://dockerhub.timeweb.cloud","https://dawk9aew.mirror.aliyuncs.com"]
}

# 完成之后检查是否生效
docker info

在这里插入图片描述
以下是使用 Docker 部署和启动常见服务的 详细分步教程,涵盖 MySQL、Tomcat、Redis、Nacos 和 RocketMQ:


2. Docker 部署 MySQL

步骤 1:准备工作

避免后续出现权限问题,先切换用户到root

su root
#再输入密码
  1. 创建宿主机持久化目录:
    mkdir -p /my/mysql/data /my/mysql/conf
    
  2. 创建自定义配置文件(可选):
    echo "[mysqld]
    character-set-server=utf8mb4
    collation-server=utf8mb4_unicode_ci" > /my/mysql/conf/my.cnf
    
步骤 2:启动 MySQL 容器
docker run --name mysql \
-e MYSQL_ROOT_PASSWORD=your_secure_password \
-p 3306:3306 \
-v /my/mysql/data:/var/lib/mysql \
-v /my/mysql/conf:/etc/mysql/conf.d \
-d mysql:8.0 \
--default-authentication-plugin=mysql_native_password

若配置镜像不可用,可尝试切换上文提供的那些镜像站

步骤 3:验证部署
  1. 进入容器并连接 MySQL:
    docker exec -it mysql mysql -uroot -p
    
  2. 输入密码后,执行 SHOW DATABASES; 确认正常运行。
注意事项
  • 若需调整时区,添加 -e TZ=Asia/Shanghai。
  • 生产环境建议限制容器资源(如 --memory=2g)。

3. Docker 部署 Tomcat

步骤 1:创建宿主机目录
mkdir -p /my/tomcat/webapps
步骤 2:启动 Tomcat 容器
docker run --name tomcat \
-p 8080:8080 \
-v /my/tomcat/webapps:/usr/local/tomcat/webapps \
-d tomcat:9.0
步骤 3:部署应用
  1. 将 WAR 包复制到 /my/tomcat/webapps:
    cp myapp.war /my/tomcat/webapps/
    
  2. 访问 http://宿主机IP:8080/myapp 验证应用。
调试技巧
  • 查看日志:docker logs -f tomcat
  • 若访问 404,检查 WAR 文件名是否与上下文路径匹配。

4. Docker 部署 Redis

步骤 1:准备配置文件和目录
  1. 创建目录和配置文件:
    mkdir -p /my/redis/data
    vi /my/redis/redis.conf
    
    # redis.conf 基础配置
    requirepass your_redis_password
    appendonly yes
    
步骤 2:启动 Redis 容器
docker run --name redis \
-p 6379:6379 \
-v /my/redis/data:/data \
-v /my/redis/redis.conf:/usr/local/etc/redis/redis.conf \
-d redis:6.0 \
redis-server /usr/local/etc/redis/redis.conf
步骤 3:测试连接
docker exec -it redis redis-cli
127.0.0.1:6379> AUTH your_redis_password
127.0.0.1:6379> SET test "hello"
127.0.0.1:6379> GET test

5. Docker 部署 Nacos

步骤 1:准备 MySQL 数据库
  1. 在 MySQL 中创建数据库 nacos:
    CREATE DATABASE nacos DEFAULT CHARACTER SET utf8mb4;
    
  2. 执行 Nacos 初始化 SQL 脚本。
步骤 2:启动 Nacos 容器
docker run --name nacos \
-e MODE=standalone \
-e MYSQL_SERVICE_HOST=宿主机IP \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=your_mysql_password \
-p 8848:8848 \
-d nacos/nacos-server:2.0.3
步骤 3:访问控制台
  1. 浏览器访问 http://宿主机IP:8848/nacos。
  2. 默认账号:nacos,密码:nacos。
常见问题
  • 若无法连接 MySQL,检查宿主机防火墙是否开放 3306 端口。
  • 查看日志:docker logs -f nacos

6. Docker 部署 RocketMQ

6.1 部署 NameServer
docker run -d \
--name rmqnamesrv \
-p 9876:9876 \
-v /my/rocketmq/logs:/root/logs \
apache/rocketmq:4.9.4 \
sh mqnamesrv
6.2 部署 Broker
  1. 创建配置目录和文件:

    mkdir -p /my/rocketmq/conf /my/rocketmq/store
    vi /my/rocketmq/conf/broker.conf
    
    brokerClusterName = DefaultCluster
    brokerName = broker-a
    brokerId = 0
    deleteWhen = 04
    fileReservedTime = 48
    brokerRole = ASYNC_MASTER
    flushDiskType = ASYNC_FLUSH
    
  2. 启动 Broker:

    docker run -d \
    --name rmqbroker \
    --link rmqnamesrv:namesrv \
    -p 10911:10911 -p 10909:10909 \
    -v /my/rocketmq/conf/broker.conf:/opt/rocketmq/conf/broker.conf \
    -v /my/rocketmq/store:/opt/store \
    -e "NAMESRV_ADDR=namesrv:9876" \
    apache/rocketmq:4.9.4 \
    sh mqbroker -c /opt/rocketmq/conf/broker.conf
    
6.3 验证 RocketMQ
  1. 进入容器测试消息发送:
    docker exec -it rmqbroker bash
    sh tools.sh org.apache.rocketmq.example.quickstart.Producer
    
  2. 查看日志:
    docker logs -f rmqnamesrv
    docker logs -f rmqbroker
    

通用优化建议

  1. 容器网络:创建自定义网络提升多容器通信效率:
    docker network create mynet
    docker run --network mynet --name mysql -d ...
    
  2. 资源限制:添加 --memory=2g --cpus=1 防止单个容器占用过多资源。
  3. 数据备份:定期备份挂载的宿主机目录(如 /my/mysql/data)。
  4. 日志管理:使用 docker logs 或 ELK 收集容器日志。

按照以上步骤,您将能快速完成服务的部署与验证。遇到问题时,优先检查容器日志和网络配置。


三、验证服务

1. MySQL
docker exec -it mysql mysql -uroot -p  # 输入密码 root@123
2. Redis
docker exec -it redis redis-cli -a redis@123
3. Tomcat

访问 http://<服务器IP>:8080,看到 Tomcat 默认页面即成功。

4. Nacos

访问 http://<服务器IP>:8848/nacos,默认账号密码为 nacos/nacos。

5. RocketMQ
  • 检查 Namesrv 日志:
    docker logs rocketmq-namesrv
    
  • 检查 Broker 日志:
    docker logs rocketmq-broker
    

四,注意事项

  1. 阿里云镜像加速:已在 Docker 安装步骤中配置,后续拉取镜像默认使用阿里云源。
  2. 密码安全:示例中密码为简单示例,生产环境需替换为复杂密码。
  3. 版本兼容性:
    • Nacos 2.3.0 需要 MySQL 8.0+。
    • RocketMQ 5.x 默认使用 JDK 17,与 Tomcat/Maven 镜像版本对齐。
  4. 数据备份:通过 volumes 持久化数据,确保容器重启后数据不丢失。
  5. 防火墙:确保云服务器安全组开放端口(3306、6379、8080、9876、8848 等)。

五,docker基础命令


1. 镜像管理

  • 拉取镜像

    docker pull [镜像名]:[标签]  # 默认标签为 latest
    docker pull nginx:alpine
    
  • 构建镜像

    docker build -t [镜像名]:[标签] [Dockerfile目录]
    docker build -t myapp:v1 .
    
  • 列出本地镜像

    docker images
    
  • 删除镜像

    docker rmi [镜像ID或名称]
    

2. 容器管理

  • 运行容器

    docker run [选项] [镜像名]
    docker run -d --name mynginx -p 80:80 nginx  # -d: 后台运行,-p: 端口映射
    
  • 列出容器

    docker ps      # 查看运行中的容器
    docker ps -a   # 查看所有容器(包括已停止的)
    
  • 启动/停止容器

    docker start [容器ID或名称]
    docker stop [容器ID或名称]
    docker restart [容器ID或名称]
    
  • 进入容器终端

    docker exec -it [容器ID或名称] /bin/bash   # 进入交互式终端
    
  • 查看容器日志

    docker logs [容器ID或名称]
    docker logs -f [容器ID或名称]  # 实时跟踪日志
    
  • 删除容器

    docker rm [容器ID或名称]
    docker rm -f [容器ID或名称]  # 强制删除运行中的容器
    

3. 网络管理

  • 列出网络

    docker network ls
    
  • 创建自定义网络

    docker network create [网络名]
    
  • 将容器连接到网络

    docker network connect [网络名] [容器名]
    

4. 数据卷管理

  • 创建数据卷

    docker volume create [卷名]
    
  • 挂载数据卷到容器

    docker run -v [卷名]:[容器内路径] [镜像名]
    docker run -v mydata:/app/data myapp
    
  • 查看数据卷

    docker volume ls
    

5. 系统清理

  • 删除所有停止的容器

    docker container prune
    
  • 删除未使用的镜像、卷、网络

    docker system prune -a  # 谨慎使用,会清理无用资源!
    

6. 其他常用命令

  • 查看容器详情

    docker inspect [容器ID或名称]
    
  • 复制文件到容器

    docker cp [本地文件路径] [容器ID]:[容器内路径]
    docker cp ./config.json mynginx:/etc/nginx/
    
  • 查看 Docker 版本

    docker --version
    

注意事项

  1. 使用 -it 参数进入交互式终端(如 docker exec -it)。
  2. 生产环境避免使用 --privileged(赋予容器过高权限)。
  3. 使用 docker-compose 管理多容器应用更高效。
WSL2+Docker Compose实战:从零搭建微服务开发环境(MySQL+Nacos+Redis+RocketMQ) 本文详细介绍了如何使用WSL2和Docker Compose从零搭建微服务开发环境,包含MySQL、Nacos、Redis和RocketMQ四大组件的配置与优化。通过声明式编排和容器化部署,实现环境隔离、一键启停和资源控制,显著提升开发效率。文章还提供了常见问题的解决方案和性能调优技巧,适合微服务开发者快速搭建本地开发环境。 阅读详情

相关推荐

wsl集成docker desktop环境下使用docker-compose一键部署mysql,nacos,redis,mq详细教程(服务器同理)

wsl集成docker desktop环境下使用docker-compose一键部署mysql,nacos,redis,mq详细教程(服务器同理)

1533

【docker-compose】安装mysql

因为最近在公司,需要安装一套测试环境,便实操沉淀了此篇文章,后续会出一篇Docker的基础知识以及原理。你本地需要有docker,以及docker-compose。需要了解docker-compose是干什么的。需要了解docker-compose.yml配置项。需要知道docker-compose常用命令。您如果之前不知道呢,可以点击我的专栏,Docker专栏里面有一篇文章【docker-compose】讲解与安装。

HoJe的博客 3759

docker-compose安装mysql

基于docker-compose快速安装mysql。

猿小白的博客 1555

docker compose 安装Mysql

新建一个-compose.yml文件夹默认数据库是账号是root密码自己修改 MYSQL_ROOT_PASSWORD进入到docker compose文件的目录下面 命令启动mysql 使用 docker-compose up -d (启动容器命令,一定要在需要启动容器目录下面去执行这个命令 都在他会把这个目录下面所有的容器都会启动)-d 代表后台运行。

爱折腾的技术人 5858

阿里云部署MySQL、Redis、RocketMQ、Nacos集群

🌟我是廖志伟,一名Java开发工程师、Java领域优质创作者、优快云博客专家、51CTO专家博主、阿里云专家博主、清华大学出版社签约作者、产品软文专业写手、技术文章评审老师、问卷调查设计师、个人社区创始人、开源项目贡献者。🌎跑过十五公里、🚀徒步爬过衡山、🔥有过三个月减肥20斤的经历、是个喜欢躺平的狠人。

我是Java程序员廖志伟,感谢朋友们的支持! 2820

【docker】docker-compose部署mysql

这里需要给MySQL做点自定义的配置,比如时区字符编码等。将文件上传到系统/data/docker上。如果需要停止容器或者重启容器的话。

xiaozhu06的博客 6082

docker安装(mysql,postgreSQL,redis,mongo,rocketmq,nacos,sentinel,seata,yapi,rabbitmq,nacos)

centos安装docker,ubuntu安装docker,docker配置国内镜像 docker安装mysql,配置数据挂载 docker安装redis,配置文件方式启动;主从复制 docker安装mongodb docker安装rocketmq docker安装nacos-server docker安装Sentinel-Dashboard docker安装seate-server docker安装yapi

孔明的博客 956

Linux下Docker安装基础服务(Mysql、Nacos、Redis、Rocketmq、Ftp、nginx)

写了一个一键在Docker环境下安装基础服务的Linux脚本,实现了一键安装docker的Mysql、Nacos、Redis、Rocketmq、Ftp、nginx这些服务。

sky2019116的博客 1008

最新版本组件的docker下载-nacos-Rabbitmq-redis-RocketMQ-java

怎么生成NACOS_AUTH_TOKEN呢NACOS_AUTH_TOKEN: Nacos 用于生成JWT Token的密钥,可以使用长度大于32字符的字符串,再经过Base64编码。我们就去这个网站用一个大于32字符的子字符串,经过Base64编码就可以生成NACOS_AUTH_TOKENNACOS_AUTH_IDENTITY_KEY和NACOS_AUTH_IDENTITY_VALUE主要是用来身份验证的,一定程度上可以随便填这样就启动成功了然后是与mysql进行绑定主要就是看官网。

ck的博客 932

图解凸函数与凹函数:别再被数学定义搞晕了!

本文通过图解和生活化类比,深入浅出地解释了凸函数与凹函数的数学定义及其与日常直觉的差异。文章详细介绍了凸函数的图像特征、数学定义(包括二阶导数判断)、在机器学习中的重要性,以及常见误区和实际应用中的判断技巧,帮助读者彻底理解这一关键数学概念。

weixin_29159441的博客 656

从底层结构开始学习FPGA(7)----进位链CARRY4

进位链CARRY4在FPGA实现加减法运算时扮演了什么角色?

孤独的单刀 1万+

Linux Docker安装 Docker-Compose安装 Docker安装Mysql8 Nacos OpenResty Redis Kafka ElasticSearch MinIO..

Docker安装 DockerCompose安装 Docker安装 Mysql Nacos OpenResty Redis Kafka集群安装 ElasticSearch安装 MinIO安装 FastDFS安装 Canal安装 Git安装 Seata1.4.2安装 RabbitMQ安装 RocketMQ安装 Dockerfile-SpringBoot Idea运行程序无法启动

Ye7073的博客 2275

scp 出现Permission denied错误 解决方法

第一种说辞(来源于网络),说是scp涉及root远程登录,默认是没有打开的,只需要把配置文件中的permit打开即可。最后scp的时候发现还不行,只需要将其scp的服务器用户名 修改为root即可。第二种解决方案,将scp 传输的服务器用户名改为root即可。(这是最基本的,一开始我忽视了这个问题,导致一直scp不了)window系统下,向ubuntu操作系统 scp传输文件。

码农研究僧的博客 6729

Docker安装redis、nacos、rabbitmq、nginx、ftp、mongodb

https://blog.youkuaiyun.com/weixin_42456466/article/details/87270959 补充: docker exec -it myredis /bin/bash可进入正在运行的容器 进入之后: redis-cli 如果设置了密码别忘了auth “yourpassword”

锦年的博客 3956

低代码部署与管理——OpenClaw智能助手的应用部署与运维(2026技术版)

OpenClaw智能助手的低代码部署与管理平台采用分层架构设计,包含部署工具、环境管理、版本控制等核心模块,支持从开发到生产的全流程自动化部署。该系统通过Docker、Kubernetes等技术实现应用构建和部署,利用Terraform等工具管理多环境配置,并提供完善的监控运维能力。平台针对开发、测试、预生产和生产环境提供差异化配置,确保部署效率和运行可靠性。这种架构设计遵循自动化、可扩展性和安全性原则,显著提升了智能助手应用的部署效率和运维质量。

一键难忘的博客 319

025、Zephyr RTOS设备树覆盖与修改

本文分享了在Zephyr RTOS中使用设备树覆盖(overlay)的实战经验。作者通过一个工业数据采集项目中GPIO无法拉高的调试案例,揭示了设备树覆盖的"叠加"本质而非简单替换。文章详细介绍了覆盖文件的正确编写方式,包括节点引用、pinctrl配置等技巧,并总结了常见陷阱如状态设置不完整、别名冲突等问题。特别强调了条件覆盖的用法和调试方法,最后提出了覆盖文件管理的五项实用原则,强调设备树覆盖是硬件与软件之间的重要契约,需要谨慎对待。全文以实际项目为背景,提供了可操作性强的技术建议。

m0_50546716的博客 33

JDK+Maven+Nginx+Redis+Mysql+Nacos+Emqx+Geoserver+Minio+RocketMq+ES+WVP+ZLMediaKit+乌班图20.04Docker安装记录

JDK+Maven+Nginx+Redis+Mysql+Nacos+Emqx+Geoserver+Minio+RocketMq+ES+WVP+ZLMediaKit安装记录

yfs1024 1018

Xinference新手指南(一个命令直接安装成功)

对于新手,必须得学会使用docker部署,这是基本功!这里就不过多去介绍了,如果评论要出教程的话,以后再出了。

Ven%的博客 818

docker部署最新版mysql, rocketmq, mongo, redis, elasticsearch, zookeeper, nacos 2021

效果图如上,全都完美运行, 自动启动, vmware虚拟机内存要给3g. 真的搞了一天多, 主要是被rocketmq拖住了. 打包这些环境再搞通几套源码, 分分钟上线几个大型项目. 查查容器为什么启动失败了 docker logs 容器id <docker启动容器出现问题 进行日志查看> https://blog.youkuaiyun.com/weixin_44228952/article/details/115493721 docker镜像自动启动, 如果创建时忘记指定的话 doc..

稳健佑 526

华为OD机试双机位C卷-虚拟文件系统(C/C++/Py/Java/Js/Go)

华为OD机试(机考)双机位C卷 【虚拟文件系统】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【虚拟文件系统】。

qq_45776114的博客 477

从4A架构的角度出来 帮我分析一下:数字化转型深水区:企业架构如何成为价值重构的核心引擎?

4A 架构的本质是构建企业的数字神经系统,通过业务感知、数据传输、决策执行、技术支撑的闭环,实现从效率提升到生态重构的质变。正如华为通过该架构实现全球研发资源统一调度,某零售集团借此打造线上线下融合的新零售体系,当业务、数据、应用、技术四个维度形成共振时,企业将获得持续进化的数字免疫力,在不确定的市场环境中保持韧性生长。这一过程不仅需要技术工具的升级,更依赖组织文化的变革 —— 从 “部门墙” 到 “能力网” 的转型,才是数字化转型深水区的终极挑战。

金牌架构师 1046

ubuntu docker一键安装部署(mysql8.0,redis,rabbitMq,rocketMq,activeMq,nacos,consul,jenkins,ES,kibana安装部署)

在 mkdir -p /home/compose。在/home/compose目录下执行。编译安装后,即可查看容器运行情况。重启docker命令。查询docker状态。

qq_30333355的博客 864

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

记录一次开源物联网平台thinglinks的docker部署步骤

本文详细记录了物联网平台ThingLinks基于Docker的部署流程,涵盖Docker与Docker-compose安装、MySQL 5.7初始化及数据库创建、Nacos 2.2.3配置与命名空间导入、Nginx反向代理配置以及Redis 6.2.6持久化部署。通过容器化方式实现各组件独立运行与数据挂载,确保服务高可用与可维护性,适用于私有化部署场景。

qq_29467891的博客 179

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

docker安装中间件

p 8848:8848: 将宿主机的8848端口映射到容器内的8848端口。-p 9848:9848: 将宿主机的9848端口映射到容器内的9848端口。–privileged: 使容器以特权模式运行,给予容器更多的权限,这通常用于需要更高权限的操作。访问控制台,浏览器访问地址:http://localhost:8848/nacos。浏览器访问地址:http://localhost:9200/ ,确保启动成功。浏览器访问地址:http://localhost:9100/

weixin_49326024的博客 773

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

上一篇: 免费在VMware上安装Linux版本Ubuntu 24.04.1 Live Server并配置网络
下一篇: Windows集成wsl,docker desktop,Ubuntu。一套性能强大的Linux部署容器可视化环境(无需虚拟机也能玩转linux,并且docker操作可视化)
老星*
博客等级 码龄5年 271粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老星*

感谢支持!!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值