深度优先

这个家伙好懒,除了文章什么都没留下

0%

不知为何之前docker安装sql server运行一会就会自动退出了,参照这篇博客的好像就不会了
转自:https://www.jianshu.com/p/f57297abf820
步骤

  1. 调整 docker 内存大小为4G
  1. 下载 SQL Server 镜像

    1
    2
    sudo docker pull microsoft/mssql-server-linux:2017-latest

  2. 启动 SQL Server 容器,命令如下:

    1
    2
    3
    4
    5
    6
    sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=Asdfgh123' \
    -p 1401:1433 --name sql-server \
    -d microsoft/mssql-server-linux:2017-latest

    具体参数意义,请参看微软文档。(MSSQL_SA_PASSWORD为初始密码,可以自己修改)

  3. 查看 SQL Server 容器是否启动成功:
    sudo docker ps -a ,status 字段为 up 则执行成功。
    重启容器命令为:

    1
    2
    3
    4
    sudo docker start dbe02b992333

    其中dbe02b992333为通过`sudo docker ps -a`查询到的容器 ID

  4. 修改 SA(system administrator) 密码
    通过 docker exec 命令执行 sqlcmd 可以修改 SA 密码。命令如下:

    1
    2
    3
    4
    sudo docker exec -it sql-server /opt/mssql-tools/bin/sqlcmd \
    -S localhost -U SA -P 'Asdfgh123' \
    -Q 'ALTER LOGIN SA WITH PASSWORD="qazWSX123"'

  5. 连接数据库,通过 sql-server 命令行工具 sqlcmd ,在容器内部连接到 SQL Server
    通过 docker exec -it 命令打开运行中容器的交互 shell。命令如下:

    1
    sudo docker exec -it sql-server "bash"

    其中sql-server的值就是创建容器时命名的值
    进入容器之后,可以通过 sqlcmd 连接上本地的 SQL Server。命令如下:

    1
    /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'qazWSX123'

    如果出现 > 提示符,则表示登录成功。
    执行操作:

    1
    2
    3
    CREATE DATABASE TestDB
    SELECT Name from sys.Databases
    GO
  6. 外部访问 SQL Server

  • 安装 sqlcmd,前提已经安装了 nodejs(node 安装请自行搜索)。执行命令: npm install -g sqlcmdjs
  • 执行查询命令
    1
    2
    sqlcmd -s 127.0.0.1 -o 1401 -u SA -p "qazWSX123" "select name, database_id from sys.databases"

    返回正确的值,表明查询成功。
  1. 删除容器,命令如下:
    1
    2
    3
    sudo docker stop sql-server
    sudo docker rm sql-server

  2. 正常运行

10.外部管理工具连接,注意IP和端口间用,分开

参考文献

  1. Run the SQL Server 2017 container image with Docker 作者:浮梁翁
    链接:https://www.jianshu.com/p/f57297abf820
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

本篇主要介绍如何在CentOS7上把.net core控制台app部署为一个后台长期运行的服务。

  1. 在CentOS7上安装dotnet 2.1 SDK

参考官网操作步骤:https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites?tabs=netcore2x

或者:https://blog.csdn.net/qq_32688731/article/details/87872639

安装完查看.net core版本。执行dotnet –info 或者dotnet –version命令。

2、将开发好的.Net Core生成发布并上传到CentOS上:

  1. 部署服务

● 创建服务脚本并放在/lib/systemd/system 目录下:

1
cd /lib/systemd/system

编辑如下,需修改ExecStart的路径:

1
2
3
4
5
6
7
8
[Unit]
Description="Mqtt Service"

[Service]
ExecStart=/usr/dotnet/dotnet-2.1/dotnet /root/Release/netcoreapp2.1/publish/MqttToDB.dll

[Install]
WantedBy=default.target

● 使用systemctrl命令部署服务

1
systemctl daemon-reload
1
systemctl start mqttToDb.service
1
systemctl status mqttToDb.service

到此一个完整的CentOS 系统服务部署完成。使用systemctrl is-active 命令查看服务是否运行状态:

1
systemctl is-active mqttToDb.service

  1. 注意事项

● 对于console程序,需要客户端自己保障主程序不退出,本实例中采用while(true)方式,也可以仿照asp.net core中的ManualResetEventSlim方式。如果没有阻塞主程序退出,当执行systemctrl start hellonetcore命令时会是如下结果:

  1. 参考链接

● systemd教程 :http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html

● systemctrl教程:https://www.freedesktop.org/software/systemd/man/systemd.unit.html,

● dotnet 命令行教程: https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet?tabs=netcore2x

● aspnet core在Linux部署教程: https://docs.microsoft.com/en-us/aspnet/core/publishing/linuxproduction?tabs=aspnetcore2x

修改自:https://www.cnblogs.com/2012-10-3/articles/8158837.html

昨天参照微软官网的yum安装方法一直失败,采用手动安装就OK了!

一、RPM包安装

  • 1、导入rpm源

    1
    2
    sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

  • 2、更新软件包

    1
    2
    sudo yum -y update

  • 3、安装SDK

    1
    2
    sudo yum -y install dotnet-sdk-2.1

  • 4、校验是否安装成功

    1
    2
    dotnet --version

二、手动下载&安装

  • 1、下载SDK(SDK列表) 在Binaries这一栏选择x64版本即可(需要点击链接才回获取到实际下载地址)

    1
    2
    3
    cd /home/downloads
    wget --no-check-certificate -O dotnet-sdk-2.1.tar.gz https://download.microsoft.com/download/4/0/9/40920432-3302-47a8-b13c-bbc4848ad114/dotnet-sdk-2.1.302-linux-x64.tar.gz

  • 2、创建SDK文件夹&将SDK解压到指定文件夹中

    1
    2
    sudo mkdir -p /usr/dotnet/dotnet-2.1 && sudo tar zxf dotnet-sdk-2.1.tar.gz -C /usr/dotnet/dotnet-2.1

  • 3、安装基础依赖

    1
    2
    sudo yum -y install libicu

  • 4、创建软链接

    1
    2
    sudo ln -s /usr/dotnet/dotnet-2.1/dotnet /usr/local/bin

  • 5、校验是否安装成功

    1
    dotnet --version

    转自:https://ken.io/note/centos7-.netcore2.1-setup