前言
最近萌生了把notion和微软todo联动的想法,即在notion上创建日程,同步到todo软件上,进而实现多端同步管理日程。查阅了资料发现可以通过n8n联动实现,在docker部署n8n一个不错的选择,于是乎,docker学习(复习)开始!本章主要介绍docker的安装和运行基本镜像的方法。
Docker安装教程
这里以Windows 11(10)操作系统为例。
1、确保有系统开启了虚拟化,安装方法和确认方法如下:
配置方法链接,该方法适用于:
• Windows 10 企业版、专业版或教育版
• 具有二级地址转换 (SLAT) 的 64 位处理器
• CPU 支持 VM 监视器模式扩展(Intel CPU 的 VT-c 技术)
• 最少 4 GB 内存
家庭版Windows 11/10 也可以开启Hyper-V,方法如下:
①、新建文件 Hyper-V.bat,并写入一下内容。
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
②、以管理员身份执行该文件,执行完毕后选择”Y”重启电脑。
③、打开控制面板,选择“程序”,点击“启用或关闭Windows功能”,查看Hyper-V已添加并已启用。
④、通过管理员身份cmd查看Hyper-V是否添加成功。
systeminfo
2、官网下载docker软件
3、通过cmd命令行执行安装到指定目录
start /w "" "Docker Desktop Installer.exe" install --backend=wsl-2 --installation-dir=D:\software\docker --wsl-default-data-root=D:\software\wsl --accept-license
安装完成。
4、使用powershell检查安装是否成功以及安装的版本
docker version
5、重启电脑,可以看到安装成功
6、修改注册表伪装成Windows专业版本
修改注册表有两种方式:cmd命令窗口执行和直接修改注册表。
目标是要修改注册表中的EditionID: CoreCountrySpecific —> Professional。
cmd命令窗口执行
通过以下命令行执行,可永久修改为Professional (重启不恢复)。
REG ADD "HKEY_LOCAL_MACHINE\software\Microsoft\Windows NT\CurrentVersion" /v EditionId /T REG_EXPAND_SZ /d Professional /F
再次打开注册表,路径如下:
HKEY_LOCAL_MACHINE\software\Microsoft\Windows NT\CurrentVersion
EditionID自动修改为了Professional。
直接修改注册表
直接修改注册表,使用regedit打开注册表,定位到HKEY_LOCAL_MACHINE\software\Microsoft\Windows NT\CurrentVersion,找到EditionId,右键点击EditionId 选择“修改“,为Professional,点击确定保存。
这种方式修改注册表,在下次重启之后会自动还原。
7、运行docker
发现报错
尝试解决,管理员cmd执行以下指令
bcdedit /set hypervisorlaunchtype auto
重启电脑,运行成功!
8、管理员运行powershell,查看容器,执行第一个项目
#列出容器
docker ps
#列出所有容器
docker container ls
#测试hello-world
docker run hello-world
Docker运行MySQL
1、运行docker,运行一个数据库容器
docker pull mysql:5.7 # 拉取 mysql 5.7
docker images # 查看拉去的镜像
# 创建数据库容器,建立目录映射
docker run -d -p 3307:3306 --privileged=true -v /d/software/docker_attach/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /d/software/docker_attach/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7
# -d 后台运行
# -p 3306:3306 端口映射,主机3307端口,容器的3306端口
# --privileged=true 设置mysql用户,否则外部不能使用root用户登录
# -v /d/software/docker_attach/mysql/conf/my.cnf:/etc/mysql/my.cnf 挂载配置文件
# -v /d/software/docker_attach/mysql/data:/var/lib/mysql 挂载数据文件
# -e MYSQL_ROOT_PASSWORD=123456 用户名root,密码12345
执行成功
2、使用第三方工具尝试连接数据库
这里使用ppz,VS code插件。
3、下载并安装VS code
4、安装ppz插件
5、连接刚刚创建的数据库
to be continued…