docker部署sqler

 

---------------------------------
#(x.1)配置文件
  (x.1)把本文件所在目录中的Data拷贝到宿主机
  (x.2)修改配置文件 appsettings.json
 

#(x.2)创建容器并运行
(--name 容器名称，可自定义)
(--restart=always 自动重启)
(-v /etc/localtime:/etc/localtime)挂载宿主机localtime文件解决容器时间与主机时区不一致的问题
(-v $PWD/data:/data 将主机中当前目录下的data挂载到容器的/data)
(--net=host 网络直接使用宿主机网络)（-p 6022:6022 端口映射）

cd /root/docker

cd sqler
docker run --name=sqler --restart=always -p 4570:4570 -d \
-v /etc/localtime:/etc/localtime \
-v $PWD/appsettings.json:/root/app/sqler/appsettings.json \
-v $PWD/Data:/root/app/sqler/Data  \
-v $PWD/Logs:/root/app/sqler/Logs  \
sersms/sqler
cd .. 


#精简
docker run --name=sqler --restart=always -p 4570:4570 -d sersms/sqler



#(x.3)应用已经运行 
 http://ip:4570 

#---------------------------------------
#常用命令

#查看容器logs
docker logs sqler

#在容器内执行命令行
docker  exec -it sqler /bin/sh

#停止容器
docker stop sqler

#打开容器
docker start sqler

#重启容器
docker restart sqler


#删除容器
docker rm sqler -f




#----------------------------------------------------------
#命令行运行

cd /root/docker

cd sqler
docker run --rm -it  -p 4570:4570  \
-v /etc/localtime:/etc/localtime \
-v $PWD/appsettings.json:/root/app/sqler/appsettings.json \
-v $PWD/Logs:/root/app/sqler/Logs  \
-v $PWD/SqlerData:/root/app/SqlerData  \
sersms/sqler  \
dotnet Sqler.dll --DataPath "../SqlerData/Local_Basis"
cd .. 



#查看帮助
docker run --rm -it \
sersms/sqler  \
dotnet Sqler.dll help


#远程还原数据库
docker run --rm -it \
-v /etc/localtime:/etc/localtime \
-v $PWD/SqlerData:/root/app/SqlerData  \
sersms/sqler  \
dotnet Sqler.dll MySql.RemoteRestore \
--DataPath "../SqlerData/Local_Basis" \
--filePath "/root/app/SqlerData/Local_Basis/MySqlBackup/Huyan2011-Bim-Basis_2021-01-13_162418.sqler.mysql.zip" \
--ConnectionString "Data Source=mysql.huyan;Port=3306;Database=Huyan2011-Bim-Basis;User Id=root;Password=123456;CharSet=utf8;"

 


#运行容器，在断开后自动关闭并清理
docker run --rm -it -p 4570:4570 sersms/sqler dotnet Sqler.dll help

docker run --rm -it -p 4570:4570 sersms/sqler sh
dotnet Sqler.dll help

 
 

---------------------------------------
#文件复制

#1、从容器拷贝文件到宿主机
docker cp sqler:/root/app/SqlerData/ SqlerData

#2、从宿主机拷贝文件到容器
docker cp SqlerData sqler:/root/app/SqlerData/ 




