一、更新系统软件包索引

  sudo apt update

二、安装docker

  sudo apt install docker.io

三、在docker中安装Mysql

  拉取mysql镜像

  docker pull mysql:latest

  查看镜像

  docker pull mysql:latest

  运行容器

  docker run -itd -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql-latest mysql

  参数说明:

  • -i:以交互模式运行,通常配合-t
  • -t:为容器重新分配一个伪输入终端,通常配合-i
  • -d:后台运行容器
  • -p:端口映射,格式为主机端口:容器端口
  • -e:设置环境变量,这里设置的是root密码
  • --name:设置容器别名

  进入容器测试连接Mysql

  docker exec -it mysql-latest /bin/bash
  mysql -u root -p 输入运行容器的mysql密码

使用Navicat测试连接到Mysql服务

出现错误提示:2059 - Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(../Frameworks/caching_sha2_password.so, 2): image not found

解决办法:

将 MySQL 8.0 的身份认证插件改回为 mysql_native_password

修改 身份认证插件为 mysql_native_password

  ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';  

刷新权限

  FLUSH PRIVILEGES;

四、在docker中安装redis

  拉去redis镜像

  docker pull redis

  启动容器

  docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name myredis -v /home/redis/myredis/myredis.conf:/etc/redis/redis.conf -v /home/redis/myredis/data:/data -d redis redis-server /etc/redis/redis.conf  --appendonly yes  --requirepass 你的密码

  参数说明:

  • –restart=always 总是开机启动
  • –log是日志方面的
  • -p 6379:6379 将6379端口挂载出去
  • –name 给这个容器取一个名字
  • -v 数据卷挂载
  • /home/redis/myredis/myredis.conf:/etc/redis/redis.conf 这里是将 liunx 路径下的myredis.conf 和redis下的redis.conf 挂载在一起。
  • /home/redis/myredis/data:/data 这个同上
  • -d redis 表示后台启动redis
  • redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录 /etc/redis/redis.conf 也就是liunx下的/home/redis/myredis/myredis.conf
  • appendonly yes 开启redis 持久化
  • requirepass 密码 设置密码

五、部署net6应用

  安装Net6镜像

  docker pull mcr.microsoft.com/dotnet/aspnet:6.0

  上传发布后的相关文件

  spc 本地打包后的文件位置 root@IP地址:/home

  构建镜像

  docker build -t 项目名称例如:fytsoa .

  运行容器

  docker run --name=fytsoa -p 5100:80 -d fytsoa

至此所有运行环境及应用安装、部署完成
下面是安装成功后所看到的镜像以及容器
  docker images

  docker ps


  Dockerfile文件内容
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS runtime
WORKDIR /app
COPY . /app
ENTRYPOINT ["dotnet", "FytSoa.ApiService.dll"]

    分享一个基于Net6+SCUI开发的后台管理平台,开原地址

  GitHub:https://github.com/feiyit/fytsoa

  Gitee:https://gitee.com/feiyit/fytsoa

  Net6 Swagger增强UI:https://gitee.com/feiyit/fytapi.mui


 

												

ubuntu20安装docker、redis、mysql及部署net6应用的更多相关文章

  1. Centos7.2 安装docker、mysql和redis

    环境信息 Docker是什么? Docker就是一个平台,这个平台具备开发.发布和运行应用程序的功能,在项目生命周期中,我们可以运用Docker实现快速交付.测试和部署.Docker通过将运行环境打包 ...

  2. Docker | redis集群部署实战

    前面已经简单熟悉过redis的下载安装使用,今天接着部署redis集群(cluster),简单体会一下redis集群的高可用特性. 环境准备 Redis是C语言开发,安装Redis需要先将Redis的 ...

  3. 升级项目到.NET Core 2.0,在Linux上安装Docker,并成功部署

    概述 容器,顾名思义是用来存放并容纳东西的器皿: 而容器技术伴着Docker的兴起也渐渐的映入大家的眼帘,它是一个抽象的概念,同时也是默默存在世上多年的技术,不仅能使应用程序间完全的隔离,而且还能在共 ...

  4. Linux上安装Docker,并成功部署NET Core 2.0

    概述 容器,顾名思义是用来存放并容纳东西的器皿: 而容器技术伴着Docker的兴起也渐渐的映入大家的眼帘,它是一个抽象的概念,同时也是默默存在世上多年的技术,不仅能使应用程序间完全的隔离,而且还能在共 ...

  5. centos7 shell 安装docker redis mongodb 等

    脚本下载: 百度网盘 提取码: wc4r 下载后上传到 服务器 chmod +x docker.sh sh docker.sh

  6. docker 安装redis mysql rabbitmq

    docker redis mysql rabbitmq 基本命令 安装redis 安装mysql 安装rabbitmq 基本命令 命令格式: docker 命令 [镜像/容器]名字 常用命令: sea ...

  7. 安装Docker,Asp.net core

    升级项目到.NET Core 2.0,在Linux上安装Docker,并成功部署 Docker从入门到实践 一.安装Docker a).设置Docker仓库 1.按惯例,首先更新Ubuntu的包索引 ...

  8. 使用docker启动mysql

    安装docker 查询mysql版本, docker search mysql 拉取指定版本的镜像 docker pull NAME 启动镜像, 第一次启动最少需要指定MYSQL_ROOT_PASSW ...

  9. Docker+Redis镜像的原理以及部署安装(超详解附截图)

    文章来源:公众号-智能化IT系统. 一. DOCKER介绍 Docker简介 (1)Docker 是一个开源的应用容器引擎,基于 Go 语言,并遵从Apache2.0协议开源. (2)Docker 可 ...

  10. Docker安装canal、mysql进行简单测试与实现redis和mysql缓存一致性

    一.简介 canal [kə'næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费. 早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求 ...

随机推荐

  1. Docker部署【项目管理和问题跟踪工具-Redmine】

    创建网络 docker network create redmine-network 启动Mysql数据库 docker run -d --name mysql --network redmine-n ...

  2. 《Unix/Linux系统编程》第十二周学习笔记

    <Unix/Linux系统编程>第十二周学习笔记 MySQL数据库简介 MySQL是一个关系型数据库管理系统,是最流行的关系型数据库管理系统之一.在 WEB 应用方面,MySQL 是最好的 ...

  3. APP 监听手机键盘是否弹出

    /** * 监听键盘是否弹出 * @param show * @param hide */ export const addEventKeyboardStatus = (show,hide)=> ...

  4. python-实现二叉树

    # encoding=utf-8 class Node(object): def __init__(self, item): self.item = item self.lchild = None s ...

  5. vue3-使用百度地图遇到的坑-地图实例化

    1.创建地图实例 原因:在使用vue3为了只定义一次地图实例,在所有方法中使用,直接使用如下定义方式: setup() { const data = reactive({ bmap: null,}) ...

  6. uglfy

    uglify: npm install uglify-js -g 或者用npm install uglify-es 运行: uglifyjs demo.js -m -o demo.min.js Ugl ...

  7. OSPF与ISIS比较

  8. 国内免费好用的chatgpt在线应用程序

    我们很高兴向大家介绍我们的全新AI微信小程序:AI文案助手,这是一款功能强大的智能助手,可以为您提供多种实用功能. 首先,我们的AI微信小程序拥有一款聊天机器人,能够与您进行自然对话,并为您提供所需的 ...

  9. Spring--AOP通知获取数据

    AOP通知获取数据 获取参数 用before进行举例: 用around进行举例: 需要注意的是,Around的话,还可以处理一些之前发生异常的数据,直接在这里进行修改也是支持的: 获取返回值 环绕已经 ...

  10. 解析极限编程-拥抱变化_V2

    作者:Kent Beck 第一章 极限编程定义 XP(极限编程):extreme programming,适用于中小型团队在需求不明确或迅速变化的情况下进行软件开发的轻量级方法学. 第二章 学习开车 ...