首页 > 其他分享 >环境搭建

环境搭建

时间:2024-03-24 09:33:23浏览次数:29  
标签:bin 容器 sqlservr -- 环境 Server docker 搭建

windows

安装sqlserver服务

  1. SQL Server 下载 | Microsoft

  2. 或者MSDN, 我告诉你 - 做一个安静的工具站 (itellyou.cn)

  3. 安装image-20240306215757326

  4. 关闭windows防火墙并重新运行

    image-20240306220152973

  5. 一路下一步直到

    image-20240306221651101

这样设置可以让安装该服务的用户直接

  1. image-20240306221828550

安装管理工具

image-20240306224019295

docker

2022安装

Docker:为 Linux 上的 SQL Server 安装容器 - SQL Server | Microsoft Learn

  1. 拉取镜像

    docker pull mcr.microsoft.com/mssql/server:2022-latest
    
  2. 制作容器

    sudo docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=WJJ18340.wjj" \
       -p 1433:1433 --name sql1 --hostname sql1 \
       -d \
       mcr.microsoft.com/mssql/server:2022-latest
    #密码,要求是最少8位的强密码,要有大写字母,小写字母,数字以及特殊符号,不然会有一个大坑(Docker启动Sql Server容器后过几秒就停止了)。
    
  3. 设置 Docker 主机防火墙规则

默认情况下,Docker 带有一个内置的防火墙,需要开放 1433 端口才能让外部访问 SQL Server。使用以下命令开放 Docker 主机的 1433 端口:

sudo ufw allow 1433/tcp

重启防火墙,注意重启防火墙之后才会生效。

sudo ufw reload
  1. 服务器防火墙配置1433的开放端口

  2. 配置容器内部的 SQL Server

    进入容器

    ​ docker exec -it 6239153a3f7f /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'WJJ18340.wjj'

    配置远程连接
    在 SQL Server 命令行界面中,执行以下命令来配置远程连接:

    -- 允许远程连接
    EXEC sp_configure 'remote access', 1
    GO
    RECONFIGURE
    GO
    
    -- 允许远程 DAC 连接
    EXEC sp_configure 'remote admin connections', 1
    GO
    RECONFIGURE
    GO
    
    -- 重启 SQL Server 使配置生效
    SHUTDOWN
    GO
    

这些命令将启用 SQL Server 的远程连接功能,并允许远程 DAC 连接。最后,需要重启 SQL Server 使配置生效。

测试连接,注意可以不填写端口,指定端口需要用逗号隔开而不是分号

image-20240307112459839

服务器内存小于2G的情况我们使用docker run之后会发现容器根本跑不起来,使用docker logs 查看日志会看到:

sqlservr: This program requires a machine with at least 2000 megabytes of memory.
也就是可用内存没有2g所以报错,启动不了。

image-20240307103925825

  1. 破解思路:把内存限制被修改为 512m在启动即可
    正常情况下我们可以进入docker内部去修改文件,但是这里由于启动不了docker容器,所以也就进不去,我们可以把docker内部的文件复制到宿主机,修改后在复制回去宿主机即可。
  2. 把docker内部的文件拷贝到宿主机:
    语法:docker cp [容器id]:docker容器中配置文件路径 主机路径
  3. 实例:docker cp [容器id]:/opt/mssql/bin/sqlservr "/home/sqlservr" 这样就可以把docker内部的sqlservr文件拷贝出来到home文件夹下了
docker cp cd6b86630:/opt/mssql/bin/sqlservr "/home/sqlservr"
  1. 然后修改从docker内部复制出来的文件
    先使用mv命令改一下文件名,后面修改后原始文件就还在相当于备份一下文件:mv sqlservr sqlservr.old
    img
    使用python修改内存限制代码(注意这里貌似只能使用python2,使用python3好像有点问题,centos7.6自带python2.7)

    oldfile = open("sqlservr.old", "rb").read()
    newfile = oldfile.replace("\x00\x94\x35\x77", "\x00\x80\x84\x1e")
    open("sqlservr", "wb").write(newfile)
    exit()
    

    img
    改完后就变成两个文件了一个新的一个旧的,一个修改后的一个修改前的

复制到docker之前修改一下文件权限
命令:chmod 777 sqlservr
不然直接复制进去在启动容器可能会报权限相关的错
img

把修改后的文件复制到docker内部
语法:docker cp 主机文件路径 容器id:docker容器中配置文件路径
实例:docker cp /home/sqlservr 容器id:/opt/mssql/bin/sqlservr 这样就可以把刚刚修改内存限制的文件重新拷贝进去了

docker cp /home/sqlservr cd6b8663:/opt/mssql/bin/sqlservr

安装多个版本python

下载python其他版本

sudo apt install python2

使用update-alternatives --install建立链接

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 2
# 后面还有一个数字,分别是1和2,代表了优先级,数字越大优先级越高

选择要执行的版本

sudo update-alternatives --config python

2008安装

  1. 拉取2008镜像
docker pull exoplatform/sqlserver
  1. 启动2008镜像
docker run --name sqlserver2008 --restart always  -v  /home/mssql2008:/var/opt/mssql -d -e 'ACCEPT_EULA=Y'  -e SA_PASSWORD='WJJ18340.wjj' -e SQLSERVER_DATABASE=demo -e SQLSERVER_USER=jige -e SQLSERVER_PASSWORD='WJJ18340.wjj'   -p 2008:1433 exoplatform/sqlserver
1
-e SQLSERVER_DATABASE=demo:创建一个叫 demo 的数据库
-e SQLSERVER_USER=jige :demo数据库添加了一个用户叫 jige
-e SQLSERVER_PASSWORD='qwer!@#123':设置鸡哥用户的密码
  1. 进入容器

    docker exec -it 1b3c3393b043  /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'WJJ18340.wjj'
    

标签:bin,容器,sqlservr,--,环境,Server,docker,搭建
From: https://www.cnblogs.com/jiuwen567/p/18091866

相关文章

  • 【Linux】详谈命令行参数&&环境变量
    目录一、浅谈命令行参数二、环境变量2.1环境变量的内涵以及理解2.2PATH环境变量:2.3输入程序名就能运行我们的程序2.4系统中的环境变量2.5导出环境变量 三、main函数的第三个参数3.1获得环境变量的三种方法 四、本地变量一、浅谈命令行参数        我......
  • 定制和配置你的 shell 环境的一个强大工具——.bashrc
    本文结构:a、简单介绍b、操作示例c、注意事项a、当你在一个新的终端会话开始时,Bashshell会读取并执行.bashrc文件中的命令。这使得.bashrc成为定制和配置你的shell环境的一个强大工具。b、以下是一些.bashrc文件中常见的元素和它们的作用:1.别名(Aliases)  .bas......
  • P3344 [ZJOI2015] 幻想乡 Wi-Fi 搭建计划
    非常精妙的一个做法。简化题意:定义合法区域为\(y\in[0,R]\)的区域,给定一些在合法区域内的标记点,与一些圆心在合法区域外的,半径为\(R\)的圆,选择第\(i\)个圆会产生\(c_i\)的代价。第一问是最多能覆盖几个标记点;第二问是在保证覆盖标记点最多的情况下,代价的最小值。首先......
  • 一键掌控:Shell脚本自动化安装与管理Conda环境的艺术
    前面写了个博客《conda:解决多项目开发环境配置的神器!》简单介绍了Conda的安装和基本命令,在做开发时经常会使用Conda建立多个应用环境,Conda的命令虽不复杂,但还是有时会弄混,所以就考虑写个脚本,一条指令创建环境。没啥难度,仅仅是方便自己使用而已。1创建Conda应用环......
  • 【Virtuoso环境设置第一篇】.cdsenv
    Virtuoso的环境你真的懂吗?这是环境系列的第一篇,教大家如何理解Virtuoso环境中.cdsenv的加载机制关于.cdsenv的默认加载顺序是什么?在查阅官方文档后,可以得到的结论是:第一顺位是所有已注册的软件工具的定制化.cdsenv,这些文件的位置如下:your_install_dir/tools/dfII/etc/tools/......
  • python环境搭建及特定操作系统注意事项
    文章目录搭建Python环境通用的流程:**1.下载并安装Python解释器****2.验证安装****3.安装包管理器(pip)****4.安装必要的开发工具****5.创建虚拟环境(推荐)****6.安装项目所需的库****7.配置IDE/编辑器**特定操作系统(如Windows、macOS、Linux)的特定步骤或注意事项**Wi......
  • Python虚拟环境conda的安装使用
    文章目录conda虚拟环境的详细步骤和注意事项:**安装Conda****创建Conda虚拟环境****激活Conda虚拟环境****安装Python包****管理Conda环境****其他优势与特性**相较于`venv`,使用`conda`管理虚拟环境有以下优势:**性能****资源占用****其他性能与资源相关因素****结论**......
  • 10分钟带你搭建企业级项目工程化模版
    一个集成了Vite+Vue3+Ts+Eslint+Perttier+Husky+Lintstaged+commitlint+commitizen的模版使用vite脚手架搭建vue基本架构Vitepnpmcreatevite//✔Projectname:…test//✔Selectaframework:›Vue//✔Selectavariant:›TypeScript每当我们编码完成时,......
  • Arduino IDE 环境配置
    ArduinoIDE环境配置目录ArduinoIDE环境配置1.安装方式2.操作方法(Arduino中文社区)2.1.安装ArduinoIDE2.2.下载固件2.3.修改ArduinoIDE语言2.4.添加开发板管理网址2.5.运行离线包2.6.检查安装是否成功1.安装方式github下载:这种方式可以获取到相关固件,但是如果想......
  • Java程序设计基础 第一章:Java的历史、环境搭建
        Java是一种计算机编程语言;除了java还有很多编程语言:c语言、c++、c#、python等,不同的计算机编程语言语法不同;应用场景不同;                                                 java是一种后端开发编程语言一、......