制作镜像 创建容器

  1. # 设置基础镜像,这里将5.0运行时作为基础镜像
  2. # as base 并没有特殊含义,相当于一个标记
  3. FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
  4. # 配置工作目录
  5. # WORKDIR指令为Dockerfile中的任何 RUN、CMD、ENTRYPOINT、COPY 和 ADD指令设置工作目录。
  6. # 如果WORKDIR不存在,即使在后续的Dockerfile指令中不使用它,也会创建它。
  7. WORKDIR /publish
  8. # 复制文件到工作目录
  9. # 这里啰嗦几句,下面一句的意思是将 上下文 中的文件 拷贝到 Docker内部
  10. # 在不指定上下文目录的情况下,可以认为 Dockerfile 所在的目录就是 上下文
  11. COPY . .
  12. # 配置系统环境变量
  13. # 利用环境变量 设置 ASP.net core 应用的监听地址
  14. ENV ASPNETCORE_URLS http://0.0.0.0:5000
  15. # 执行 dotnet 命令 启动 应用
  16. ENTRYPOINT ["dotnet", "CreditCardApi.dll"]

创建镜像
docker build -t shopping:v2 .

docker run -d -p 8091:5000 -v /public:/app —name shopping01 shopping:v4

docker run -d -p 8092:5000 -v /public:/app —name shopping02 shopping:v4

docker run -d -p 8093:5000 -v /public:/app —name shopping03 shopping:v4

docker run -d -p 8094:5000 -v /public:/app —name shopping04 shopping:v4

docker run -d -p 8095:5000 -v /public:/app —name shopping05 shopping:v4

docker restart 33151a7bcd1d && docker restart 8c68eb15dd3d && docker restart 39ffda0354cb

docker restart shopping01 && docker restart shopping02 && docker restart shopping03 && docker restart shopping04 && docker restart shopping05

配置mysql 容器

docker pull mysql

启动
docker run —name mysql -p 3306:3306 -v /usr/local/docker-mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql

进入容器
docker exec -it mysql bash

登录mysql
mysql -u root -p
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘123456’;

添加远程登录用户
CREATE USER ‘chuanzhen’@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
GRANT ALL ON . TO ‘chuanzhen’@’%’;
FLUSH PRIVILEGES;
—临时
3、查看最大连接数(默认为100)
SHOW VARIABLES LIKE ‘%max_con%’;
4、设置最大连接数
SET GLOBAL max_connections = 1000;

限制用户行为
https://blog.csdn.net/weixin_43573186/article/details/121607548

GRANT select ON . TO’chuanzhen’@’%’IDENTIFIED BY ‘123456’ WITH GRANT OPTION;

GRANT SELECT ON Wxt. TO ‘chuanzhen’@’%’;
GRANT insert ON Wxt.
TO ‘chuanzhen’@’%’;
GRANT update ON Wxt. TO ‘chuanzhen’@’%’;
GRANT delete ON Wxt.
TO ‘chuanzhen’@’%’;
FLUSH PRIVILEGES;

永久修改方案,重启后仍有效:
vim /etc/mysql/mysql.conf.d/mysqld.cnf 如果没有 vim 命令,则安装 vim: 第一步:apt-get update 第二步:apt-get install vim
max_connections=16384 — 设置该 DB 最大连接数
max_user_connections=2000 — 设置单用户最大连接数


nginx安装

重新指定 confi配置
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

硬装nginx
https://www.cnblogs.com/pxstar/p/14808244.html

重启服务 进入nginx安装目录sbin下执行
./nginx -s reload

没有 nginx.pid文件解决方案
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

Redis安装

https://www.cnblogs.com/yqh0128/articles/14592910.html

docker run -p 6379:6379 —name redis -v /usr/local/docker-redis/redis.conf:/etc/redis/redis.conf -v /usr/local/docker-redis/data:/data -d redis redis-server /etc/redis/redis.conf —appendonly yes