记录Docker部署Vue+NetCore+MsSql+Redis

Vultr上的主机经常忘了续租,导致账号被禁用,主机被删掉

每次重新部署都忘了之前怎么弄的,要重新查好多资料,特记录下这次部署的过程

Vultr我都是选最便宜的主机,每个月6美金的主机

用XShell连接Vultr主机IP

安装docker

yum install docker #这里有坑后面才发现,docker是旧版,得用docker-ce
systemctl enable docker #将docker设置了开机启动
systemctl start docker #启动docker服务
systemctl status docker #查看docker服务状态

 

部署 mysql
docker pull mysql:5.7.26 #拉取mysql镜像

docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=admincai -d mysql:5.7.26 #运行容器

 

部署redis

docker pull redis  #拉取redis镜像

这里拉取redis镜像时报了错误 missing signature key

在网上查了后,说docker问题,得安装docker-ce

先安装个yum源地址,不然装不了docker-ce

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo #配置包源地址

yum install docker-ce -y #安装docker-ce
安装后就能成功拉取redis了

先创建redis配置文件跟数据目录

mkdir /home/redis

mkdir /home/redis/data

把redis.conf配置文件上传到主机上

运行redis容器

docker run -p 6379:6379 --name redis -v /home/redis/redis.conf:/etc/redis/redis.conf  -v /home/redis/data:/data -d redis redis-server /etc/redis/redis.conf

部署后端程序

部署前得把配置文件里连接mysql、redis的IP地址改掉,不能用127.0.0.1,应该每个窗口都是隔开的,

可以改成宿主机的内部IP,一般是172.17.0.1,如果不是可以在宿主主机上查看

ip a

看到docker0的IP地址

容器互访也可以用bridge网络

docker network create testnet

docker run --name <容器名> ---network <bridge> --network-alias <网络别名> <镜像名>
那运行mysql可以这样
docker run -p 3306:3306 --name mysql --network testnet --network-alias test-1 -e MYSQL_ROOT_PASSWORD=admincai -d mysql:5.7.26

docker run --name cai-admin-back -d -p 5000:80 --network testnet --network-alias test-2 cai-admin-back

 然后后端配置文件连接mysql的Ip地址就直接改成test-1

 

将后端项目发布后的publish目录上传到主机/root

cd /root/publish

docker build -t cai-admin-back . #构建后端镜像

docker run --name cai-admin-back -d -p 5000:80 cai-admin-back #宿主5000映射到容器80端口

  

部署前端

 每次安装前端项目的包依赖都会各种问题,特别是这个node-sass,一直装不成功

特别记录一下

node node-sass sass-loader 三个的版本得,任一库的版本不对,都会出现莫名奇妙的问题

这个node-sass要安装成功,就得搭配上对应版本的nodejs,每个版本对应的都不一样

我机子的node是18版本,我就把前端项目的node-sass版本升到了8,然后就运行时就报错了,报了找不到color-name库,

我把sass-loader库升级到14后,又报错了,this.getOptions is not a function

哎,最后我还是前端项目的版本还原了,我把电脑上的Node降到15.14.0,最后还是报找不到color-name,好吧,把color-name装上,终于成功了

 

把前端构建后的文件上传到主机上/root/front

cd /root/front

docker build -t cai-admin-front .

docker run --name cai-admin-front -d -p 80:80 cai-admin-front

 

其它相关命令

查看日志

查看最近100条日志

docker logs -t -n100 mssql

-n,-tail 100 查看最近100条

-f,--follow 实时跟踪

-t,-timestamps 显示时间戳

--details

--since

--until

docker logs --since 30m mssql 查看最近30分钟内的日志

docker logs --until 30m mssql 查看30分钟前的日志

docker logs --since="2022-11-22T13:00:00" --until="2022-11-22T14:15:00" cms |grep -30  '关键字'

 https://blog.csdn.net/xrq1995/article/details/127981800

docker search mssql

 docker exec -it mssql /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "旧密码" -Q 'ALTER LOGIN SA WITH PASSWORD="新密码"'

 

posted on 2024-05-06 13:54  菜工  阅读(15)  评论(0编辑  收藏  举报

导航