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