Docker使用笔记

修改主机名

sudo hostnamectl set-hostname mjaliyunubuntu

安装 mssqlserver2019

1. 拉取 SQL Server 2019 镜像

     sudo docker pull mcr.microsoft.com/mssql/server:2019-latest

2. 创建并运行 SQL Server 2019 容器

   *** 我把默认端口号改为:51433
	sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=xxxxxx" \
	-e "MSSQL_USE_AD_AUTHENTICATION=1" \
	-p x1433:1433 \
	--name sqlserver_container -d mcr.microsoft.com/mssql/server:2019-latest
	
 *** 自动默认的数据库文件夹  	/var/opt/mssql/data
    1. 在AliYun中开放 x1433 端口
	在阿里云管理软件中 -- 轻量应用(SWAS) -- 防火墙规则 -- 添加新规则 
    1. 创建并运行容器时进行目录挂载
    • 提前建立目录 mkdir /test/zapas/mssql/dbase
    • 调整权限 sudo chown -R 999:999 /test/zapas/mssql/dbase
    • 原来的容器删除并重新创建容器
		docker ps
	
			CONTAINER ID 		NAMES
			7e1e2433482b		sqlserver_container
		
		删除容器
			sudo docker rm sqlserver_container
		
			命令强制删除正在运行的容器	
				docker rm -f sqlserver_container			
		
		sudo chown -R 999:999 /test/zapas/mssql/dbase
		
		重新创建容器(带--挂目录)
			sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=xxxx" \
			-e "MSSQL_USE_AD_AUTHENTICATION=1" \
			-p x1433:1433 \
			-v /test/zapas/mssql/dbase:/var/opt/mssql/data \
			--name sqlserver_container -d mcr.microsoft.com/mssql/server:2019-latest

很奇怪的问题就 挂目录 创建容器后容器无法启动, 找不到解决方式,但是没有挂目录时候正常运行 ???

在Ubuntu中查找文件 如: testDB

sudo find / -name "testDB.*" -type f

    • 复制文件 testDB*.* 复制到 /test/zapas 目录中
       cp /var/lib/docker/overlay2/462ffc8fd28dec744cffa43a6065f7be4c158932150f6becedb060d44c95d12c/diff/var/opt/mssql/data/testDB*.* /test/zapas

 

posted @ 2025-11-05 15:57  麦麦提敏  阅读(4)  评论(0)    收藏  举报