• ubuntu20安装docker、redis、mysql及部署net6应用


    一、更新系统软件包索引

    sudo apt update

    二、安装docker

    sudo apt install docker.io

    三、在docker中安装Mysql

      拉取mysql镜像

    docker pull mysql:latest

      查看镜像

    docker images

      运行容器

    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

      上传发布后的相关文件,根目录要包含Dockerfile文件,内容在文章最底部

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

      构建镜像,在项目根目录,例如:/home/fytsoa

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

      运行容器

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

      参数说明:

    • –-name=容器名称 总是开机启动
    • –-p 常驻内存服务
    • –-5100:80 5100对外访问提供的端口号,80容器内运行的dll端口

    ==========================================================

      至此所有运行环境及应用安装、部署完成

      下面是安装成功后所看到的镜像以及容器

    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

  • 相关阅读:
    亚马逊英国站小风扇UKCA认证办理流程
    K8S 部署 seata
    微软承诺:将积极研究维修权问题
    Git 开源的版本控制系统-04-branch manage 分支管理
    给运行中的docker容器动态添加端口映射
    DataSheet专业名词解读——每天10个专业名词(1)23.9.18 (NXP)MPC5604B/C
    C++DAY43
    android 多屏幕显示activity,副屏,无线投屏
    基于Android实现的天气预测APP
    24、学习MySQL 及 SQL 注入
  • 原文地址:https://www.cnblogs.com/fuyu-blog/p/17367321.html