自动安装 适合2004及以上版本
手动安装 适合1903或1909及以上版本
如果您想在最新的Windows版本中试用经过改进的WSL2(Windows Subsystem for Linux 2),请按照以下方法操作,我们在这篇文章中涵盖了安装它所需做的一切。
WSL 2是对微软在2017年推出的WSL原始版本的重大升级。WSL2不仅仅是一个版本升级。不经更快、更多功能,并且使用了真正的Linux内核。未来的Linux内核更新甚至会以Windows 10软件更新的形式发布,想想看,这是不是有点疯狂!
微软创建WSL 2的目标是提高性能。做到这一点的最佳方法是什么?添加完全的系统调用兼容性,即以真正的Linux内核为核心。
如果您无法升级,也不要着急。因为在2020年8月,Microsoft将WSL 2反向移植到Windows 10的较早版本。任何使用1903或1909版本的人也可以安装WSL 2——但必须先安装Windows Update KB4566116。
追求完美的Windows用户还可以强制安装Windows 10 2020 年 5 月更新,请记住,如果您按照这种方法操作,可能会遇到缺少的驱动程序,GUI故障或其他硬件故障。
从技术上讲,您可以在Windows 10 build 18917或更高版本的“内部”版本上安装WSL 2。我不太熟悉“内部”构建系统是如何工作的,所以请注意,这篇文章的其余部分是基于在Windows的稳定版本上使用该特性。
您的计算机还需要支持Hyper-V虚拟化才能运行WSL2。你可以检查你的Hyper-V支持。
安装WSL 2前一定要首先开启VT(Intel Virtuallization Technology)功能!!!
如果您不能同时满足这两个要求,则无法安装或启用WSL 2,但可以使用WSL 1。
在Windows 10上安装WSL 2的过程如下:
我将依次使用PowerShell应用程序逐步完成每个步骤,您需要以管理员身份运行该应用程序。您可以在Windows“开始”菜单中找到PowerShell。
注意:也可以使用GUI安装WSL 1,但是使用命令行的速度要快得多,并且由于WSL是CLI工具,因此这样做也很有意义吧!
无论您要使用哪个版本的WSL,都首先需要启用它。使用管理员打开PowerShell工具,输入以下指令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
只想使用WSL 1?那就跳至第四步。
WSL 2需要启用Windows 10的“虚拟机平台”功能。计算机需要虚拟化功能才能使用此功能。这是与Hyper-V分开的,并提供了一些新的适用于 Linux 的 Windows 子系统中可用的更有趣的平台集成。
要在Windows 10(2004)上启用虚拟机平台,请以管理员身份打开PowerShell并运行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
要在Windows 10(1903,1909)上启用虚拟机平台,请以管理员身份打开PowerShell并运行:
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart
为了确保所有相关的部分都能到位,您应该在此时重新启动系统,否则您可能会发现事情并没有按照预期工作。
以管理员身份打开PowerShell,然后运行以下命令以将WSL 2设置为WSL的默认版本:
wsl --set-default-version 2
这里可能会提示
- WSL 2 需要更新其内核组件。有关信息,请访问 https://aka.ms/wsl2kernel
需要从微软下载WSL2 Linux内核的升级包
下载地址为:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
有了WSL和必要的虚拟化技术之后,您要做的就是从Microsoft Store中选择并安装Linux发行版。
提供了几种不同的发行版,包括OpenSUSE,Pengwin,Fedora Remix和Alpine Linux。但是我个人的建议是Ubuntu 20.04 LTS(尽管也有18.04 LTS和16.04 LTS可用)。
要在Windows 10上安装Ubuntu,请打开Microsoft Store应用,搜索“ Ubuntu 20.04”,然后单击“获取”按钮:
如果无法直接搜索到,可以打开以下网址,点击获取后跳转到Microsoft Store应用
https://www.microsoft.com/zh-cn/p/ubuntu-2004/9n6svws3rx71?rtc=1&activetab=pivot:overviewtab
此时会遇到所在地区不支持通过Microsoft.com购买的问题
点击设置 > 时间和语言 > 区域
设置为美国
此时即可以进行安装
完成后点击Ubuntu即可进入,第一次进入需要设置用户名和密码
wsl下的Ubuntu自动下载了部分软件,例如Python等
也可以通过lsb_release -a
查看Ubuntu的版本信息
Win10下可以在应用商店中安装,安装过程与安装Ubuntu类似
Win11自带Terminal终端
直接点击设置后可以对终端样式进行配置,本质上就是通过settings.json
文件对各部分内容进行配置
打开该配置文件下拉可以找到
// Add custom color schemes to this array.
// To learn more about color schemes, visit https://aka.ms/terminal-color-schemes
// To find color-schemes: https://windowsterminalthemes.dev/
"schemes": [
]
schemas中可以添加各种主题,例如
// Add custom color schemes to this array.
// To learn more about color schemes, visit https://aka.ms/terminal-color-schemes
// To find color-schemes: https://windowsterminalthemes.dev/
"schemes": [
{
"name": "Atom",
"black": "#000000",
"red": "#fd5ff1",
"green": "#87c38a",
"yellow": "#ffd7b1",
"blue": "#85befd",
"purple": "#b9b6fc",
"cyan": "#85befd",
"white": "#e0e0e0",
"brightBlack": "#000000",
"brightRed": "#fd5ff1",
"brightGreen": "#94fa36",
"brightYellow": "#f5ffa8",
"brightBlue": "#96cbfe",
"brightPurple": "#b9b6fc",
"brightCyan": "#85befd",
"brightWhite": "#e0e0e0",
"background": "#161719",
"foreground": "#c5c8c6",
"selectionBackground": "#444444",
"cursorColor": "#d0d0d0"
},
{
"name": "CyberPunk2077",
"black": "#272932",
"red": "#710000",
"green": "#1AC5B0",
"yellow": "#FDF500",
"blue": "#9381FF",
"purple": "#742D8B",
"cyan": "#00D0DB",
"white": "#D1C5C0",
"brightBlack": "#7b8097",
"brightRed": "#C71515",
"brightGreen": "#40FFE9",
"brightYellow": "#fff955",
"brightBlue": "#37EBF3",
"brightPurple": "#CB1DCD",
"brightCyan": "#37EBF3",
"brightWhite": "#C1DEFF",
"background": "#272932",
"foreground": "#E455AE",
"selectionBackground": "#742D8B",
"cursorColor": "#FDF500"
},
{
"name": "Flatland",
"black": "#272932",
"red": "#f18339",
"green": "#9fd364",
"yellow": "#f4ef6d",
"blue": "#5096be",
"purple": "#695abc",
"cyan": "#d63865",
"white": "#ffffff",
"brightBlack": "#7b8097",
"brightRed": "#d22a24",
"brightGreen": "#a7d42c",
"brightYellow": "#ff8949",
"brightBlue": "#61b9d0",
"brightPurple": "#695abc",
"brightCyan": "#d63865",
"brightWhite": "#ffffff",
"background": "#1d1f21",
"foreground": "#b8dbef",
"selectionBackground": "#2b2a24",
"cursorColor": "#708284"
}
]
主题样式可以在下面网站中寻找,找到后直接复制到schemes中即可
https://windowsterminalthemes.dev/
如果需要引用则在 profiles
的 lists
的相关主题中进行引用,例如powershell中使用Flatland主题
下面是一个完整的配置文件案例
// This file was initially generated by Windows Terminal 1.6.10571.0
// It should still be usable in newer versions, but newer versions might have additional
// settings, help text, or changes that you will not see unless you clear this file
// and let us generate a new one for you.
// To view the default settings, hold "alt" while clicking on the "Settings" button.
// For documentation on these settings, see: https://aka.ms/terminal-documentation
{
"$schema": "https://aka.ms/terminal-profiles-schema",
"defaultProfile": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
// You can add more global application settings here.
// To learn more about global settings, visit https://aka.ms/terminal-global-settings
// If enabled, selections are automatically copied to your clipboard.
"copyOnSelect": false,
// If enabled, formatted data is also copied to your clipboard
"copyFormatting": false,
// A profile specifies a command to execute paired with information about how it should look and feel.
// Each one of them will appear in the 'New Tab' dropdown,
// and can be invoked from the commandline with `wt.exe -p xxx`
// To learn more about profiles, visit https://aka.ms/terminal-profile-settings
"profiles":
{
"defaults":
{
// Put settings here that you want to apply to all profiles.
},
"list":
[
{
// Make changes here to the powershell.exe profile.
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"name": "Windows PowerShell",
"commandline": "powershell.exe",
"colorScheme": "Flatland",
"hidden": false
},
{
// Make changes here to the cmd.exe profile.
"guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
"name": "命令提示符",
"commandline": "cmd.exe",
"hidden": false
},
{
"guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
"hidden": false,
"name": "Azure Cloud Shell",
"source": "Windows.Terminal.Azure"
},
{
"guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}",
"hidden": false,
"name": "Ubuntu-20.04",
"source": "Windows.Terminal.Wsl"
}
]
},
// Add custom color schemes to this array.
// To learn more about color schemes, visit https://aka.ms/terminal-color-schemes
// To find color-schemes: https://windowsterminalthemes.dev/
"schemes": [
{
"name": "Atom",
"black": "#000000",
"red": "#fd5ff1",
"green": "#87c38a",
"yellow": "#ffd7b1",
"blue": "#85befd",
"purple": "#b9b6fc",
"cyan": "#85befd",
"white": "#e0e0e0",
"brightBlack": "#000000",
"brightRed": "#fd5ff1",
"brightGreen": "#94fa36",
"brightYellow": "#f5ffa8",
"brightBlue": "#96cbfe",
"brightPurple": "#b9b6fc",
"brightCyan": "#85befd",
"brightWhite": "#e0e0e0",
"background": "#161719",
"foreground": "#c5c8c6",
"selectionBackground": "#444444",
"cursorColor": "#d0d0d0"
},
{
"name": "CyberPunk2077",
"black": "#272932",
"red": "#710000",
"green": "#1AC5B0",
"yellow": "#FDF500",
"blue": "#9381FF",
"purple": "#742D8B",
"cyan": "#00D0DB",
"white": "#D1C5C0",
"brightBlack": "#7b8097",
"brightRed": "#C71515",
"brightGreen": "#40FFE9",
"brightYellow": "#fff955",
"brightBlue": "#37EBF3",
"brightPurple": "#CB1DCD",
"brightCyan": "#37EBF3",
"brightWhite": "#C1DEFF",
"background": "#272932",
"foreground": "#E455AE",
"selectionBackground": "#742D8B",
"cursorColor": "#FDF500"
},
{
"name": "Flatland",
"black": "#272932",
"red": "#f18339",
"green": "#9fd364",
"yellow": "#f4ef6d",
"blue": "#5096be",
"purple": "#695abc",
"cyan": "#d63865",
"white": "#ffffff",
"brightBlack": "#7b8097",
"brightRed": "#d22a24",
"brightGreen": "#a7d42c",
"brightYellow": "#ff8949",
"brightBlue": "#61b9d0",
"brightPurple": "#695abc",
"brightCyan": "#d63865",
"brightWhite": "#ffffff",
"background": "#1d1f21",
"foreground": "#b8dbef",
"selectionBackground": "#2b2a24",
"cursorColor": "#708284"
}
],
// Add custom actions and keybindings to this array.
// To unbind a key combination from your defaults.json, set the command to "unbound".
// To learn more about actions and keybindings, visit https://aka.ms/terminal-keybindings
"actions":
[
// Copy and paste are bound to Ctrl+Shift+C and Ctrl+Shift+V in your defaults.json.
// These two lines additionally bind them to Ctrl+C and Ctrl+V.
// To learn more about selection, visit https://aka.ms/terminal-selection
{ "command": {"action": "copy", "singleLine": false }, "keys": "ctrl+c" },
{ "command": "paste", "keys": "ctrl+v" },
// Press Ctrl+Shift+F to open the search box
{ "command": "find", "keys": "ctrl+shift+f" },
// Press Alt+Shift+D to open a new pane.
// - "split": "auto" makes this pane open in the direction that provides the most surface area.
// - "splitMode": "duplicate" makes the new pane use the focused pane's profile.
// To learn more about panes, visit https://aka.ms/terminal-panes
{ "command": { "action": "splitPane", "split": "auto", "splitMode": "duplicate" }, "keys": "alt+shift+d" }
]
}
Terminal下直接有Ubuntu-20.04,选中即可
默认的wsl没有设置root密码,需要通过管理员方法来设置root密码
sudo passwd root
效果如下
ysp@DESKTOP-M8DDPVJ:~$ sudo passwd root
[sudo] password for ysp:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
ysp@DESKTOP-M8DDPVJ:~$ su root
Password:
root@DESKTOP-M8DDPVJ:/home/ysp# clear
root@DESKTOP-M8DDPVJ:/home/ysp#
由于默认情况下我们不知道 root 用户的密码,所以如果我们想要使用 root 用户的话可以使用按照上一步的命令为 root 用户设置一个新的密码,同时为了避免sudo切换root是需要输入密码,把自己配置的用户名加到sudo免密中,可以在root账户下输入如下命令:
# root账户下执行以下指令,替换leap为自己单独配置的用户名
sudo echo "leap ALL=(ALL:ALL) NOPASSWD: ALL" >>/etc/sudoers
默认的安装源相对国内很慢,我们更换源到阿里云,登录到ubuntu后使用root账户执行如下操作:
cp /etc/apt/sources.list /etc/apt/sources.list.bak
echo "deb http://mirrors.aliyun.com/ubuntu/ focal main restricted \
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted \
deb http://mirrors.aliyun.com/ubuntu/ focal universe \
deb http://mirrors.aliyun.com/ubuntu/ focal-updates universe \
deb http://mirrors.aliyun.com/ubuntu/ focal multiverse \
deb http://mirrors.aliyun.com/ubuntu/ focal-updates multiverse \
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse \
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted \
deb http://mirrors.aliyun.com/ubuntu/ focal-security universe \
deb http://mirrors.aliyun.com/ubuntu/ focal-security multiverse">/etc/apt/sources.list
使用root账户执行更新:
apt update && apt upgrade -y
WSL Ubuntu下安装docker有两种方法,选择其中一种进行安装即可
因为wsl2已经完整使用了linux内核了,此种方式和先前在linux虚拟机安装docker类似,步骤如下:
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
$ sudo service docker start
执行脚本安装过程中,脚本提示“建议使用Docker Desktop for windows”,20s内按Ctrl+C会退出安装,所以需要等待20s,另外此种方式需要访问外网。
检查docker安装正常
# 检查dockerd进程启动
service docker status
ps aux|grep docker
# 检查拉取镜像等正常
docker pull busybox
docker images
注意:不同于完全linux虚拟机方式,WLS2下通过apt install docker-ce命令安装的docker无法启动,因为WSL2方式的ubuntu里面没有systemd。上述官方get-docker.sh安装的docker,dockerd进程是用ubuntu传统的init方式而非systemd启动的。
Docker 也专门开发了可以使用 WSL2
中的 Docker
守护进程的桌面管理程序, 打开 Docker Desktop WSL2 backend 页面,下载最新的 Docker Desktop for Windows 程序 ,建议下载stable版本。下载地址:
https://www.docker.com/products/docker-desktop
启动Docker Desktop for Windows,点击“设置”按钮,启用基于WSL2
的引擎复选框(Use the WSL 2 based engine
)
在 Resources 的WSL Integration中设置要从哪个 WSL2 发行版中访问 Docker,如下图使用的是 Ubuntu。
重启 Docker desktop for Windows,重启完成后我们就可以在 WSL2里面使用 docker 命令了
在WSL2里面执行df -Th
,会发现增加了一些新的与docker有关的挂载点。
docker.sock
,docker客户端二进制和docker的数据目录挂载到WSL2里面的linux机器,在此linux机器下执行docker命令(docker命令为docker客户端),实质为客户端通过 挂载的/var/run/docker.sock
文件与windows里面的dockerd
服务端进程通信。如下图,我们在linux下重新启动linux下dockerd
进程,linux模式下下载的busybox
镜像又可以看到了,/var/run/docker.sock
的时间戳也被更新了,此时客户端通过/var/run/docker.sock
文件与linux下的dockerd
服务端通信。/var/run/docker.sock
文件。理论可以同时使用,但是需要修改docker配置,通过-H参数增加dockerd的tcp监听,执行具体docker命令时指定dockerd监听的对应IP和端口即可。参考资料:https://www.runoob.com/docker/docker-install-mysql.html
访问 MySQL 镜像库地址:https://hub.docker.com/_/mysql?tab=tags 。
可以通过 Sort by 查看其他版本的 MySQL,默认是最新版本 mysql:latest 。
此外,我们还可以用 docker search mysql
命令来查看可用版本:
这里我们拉取官方的最新版本的镜像:
# 拉取最新版
$ docker pull mysql:latest
# 拉取8.0.18版本
$ docker pull mysql:8.0.18
使用以下命令来查看是否已安装了 mysql:
$ docker images
安装完成后,我们可以使用以下命令来运行 mysql 容器:
$ docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123321 mysql:8.0.18
参数说明:
如果宿主机3306端口已经被占用,可以指定映射到其他端口号
# 将docker的mysql容器的3306号端口映射到宿主机的13306号端口上
$ docker run -itd --name mysql-test -p 13306:3306 -e MYSQL_ROOT_PASSWORD=123321 mysql:8.0.18
通过 docker ps -a
查看容器运行情况
可以使用docker stop
停止容器
$ docker stop 54de45a8a175
此时的状态为Exited
使用docker start
停止容器
$ docker start 54de45a8a175
此时状态再次切换为上线
# 进入容器
$ docker exec -it 54de bash
# 退出容器
exit
这里我们拉取官方的最新版本的镜像:
$ docker pull redis:latest
使用以下命令来查看是否已安装了 redis:
$ docker images
安装完成后,我们可以使用以下命令来运行 redis 容器:
$ docker run -itd --name redis-test -p 6379:6379 redis
参数说明:
最后我们可以通过 docker ps
命令查看容器的运行信息
接着我们通过 redis-cli 连接测试使用 redis 服务。
$ docker exec -it redis-test /bin/bash
拉取 4.4.12
版的MongoDB
$ docker pull mongo:4.4.12
使用以下命令来查看是否已安装了 mongo:
$ docker images
安装完成后,我们可以使用以下命令来运行 mongo 容器:
$ docker run -itd --name mongo-test -p 27017:27017 mongo:4.4.12 --auth
参数说明:
最后我们可以通过 docker ps
命令查看容器的运行信息
接着使用以下命令添加用户和设置密码,并且尝试连接
$ docker exec -it mongo-test mongo admin
# 创建一个名为 admin,密码为 123456 的用户。
> db.createUser({ user:'admin',pwd:'123321',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
# 尝试使用上面创建的用户信息进行连接。
> db.auth('admin', '123321')
此时也可以通过可视化客户端进行连接(以navicat15为例)
参考资料:https://linuxize.com/post/how-to-install-pip-on-ubuntu-20.04/
Ubuntu已经自带python
使用以下指令可以安装pip
# 更新apt
$ sudo apt update
# 安装python3-pip
$ sudo apt install python3-pip
使用 pip3 --version
可以查看pip3的版本
wsl2中使用systemctl
时会报如下错误
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
使用如下指令进行安装
sudo apt install python2
# 备份原有systemctl
sudo mv /usr/bin/systemctl /usr/bin/systemctl.old
# 下载,请耐心等待...
# 如果实在下载不下来可以直接访问网址获取该文件,然后拷贝为temp文件
curl https://raw.githubusercontent.com/gdraheim/docker-systemctl-replacement/master/files/docker/systemctl.py >temp
sudo mv temp /usr/bin/systemctl
sudo chmod +x /usr/bin/systemctl
在Ubuntu系统下访问win10的home目录
win10系统挂载在mnt目录下
通过cp可以将win10文件拷贝到wsl下或者将wsl内容拷贝到win10中
要使用es肯定是需要安装的,由于用惯了docker,所以也想在docker上尝试一下,主要是因为我的好多软件都以及选择了docker。docker安装其实是很简单的,至于要一行命令即可。这里我选择的是es的7.2.0版本镜像镜像安装,具体安装命令如下:
docker pull elasticsearch:7.2.0
敲完命令以后回车,只需要等带镜像下载完成就可以了。
安装完成以后当然需要去启动我们的es了,这里启动也是很方便的只需要一行命令即可。如下:
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -d elasticsearch:7.2.0
这样es就启动好了。我们可以去检查es是否安装完成,可以输入命令:
curl http://localhost:9200
或者在浏览器中打开http://localhost:9200这个网址,如果能看到以下信息则说明我们的es是已经安装好了的。
{
"name" : "530dd7820315",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "7O0fjpBJTkmn_axwmZX0RQ",
"version" : {
"number" : "7.2.0",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "508c38a",
"build_date" : "2019-06-20T15:54:18.811730Z",
"build_snapshot" : false,
"lucene_version" : "8.0.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
如果你是在服务器上安装,想要对外访问还必须打开你服务器的9200端口,然后将localhost换成你服务器的ip地址即可。
首先进入到容器中,然后进入到指定目录修改elasticsearch.yml
文件。
docker exec -it elasticsearch /bin/bash
cd /usr/share/elasticsearch/config/
vi elasticsearch.yml
在elasticsearch.yml
的文件末尾加上:
http.cors.enabled: true
http.cors.allow-origin: "*"
修改配置后重启容器即可。
docker restart elasticsearch
es自带的分词器对中文分词不是很友好,所以我们下载开源的IK分词器来解决这个问题。首先进入到plugins目录中下载分词器,下载完成后然后解压,再重启es即可。具体步骤如下:
**注意:**elasticsearch的版本和ik分词器的版本需要保持一致,不然在重启的时候会失败。可以在这查看所有版本,选择合适自己版本的右键复制链接地址即可。点击这里
cd /usr/share/elasticsearch/plugins/
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.2.0/elasticsearch-analysis-ik-7.2.0.zip
exit
docker restart elasticsearch
然后可以在kibana界面的dev tools
中验证是否安装成功;
POST test/_analyze
{
"analyzer": "ik_max_word",
"text": "你好我是东邪Jiafly"
}
不添加"analyzer": "ik_max_word",
则是每个字分词,可以在下面kibana安装完成以后尝试一下。
同样适用docker安装kibana命令如下:
docker pull kibana:7.2.0
等待所有镜像下载完成即可。
安装完成以后需要启动kibana容器,使用--link
连接到elasticsearch容器,命令如下:
docker run --name kibana --link=elasticsearch:test -p 5601:5601 -d kibana:7.2.0
docker start kibana
启动以后可以打开浏览器输入http://localhost:5601就可以打开kibana的界面了。
# 拉取镜像
$ docker pull yandex/clickhouse-server
# 登录docker,否则可能报如下错误
# repository does not exist or may require 'docker login': denied: requested access to the resource is denied
$ docker login
$ docker pull yandex/clickhouse-clinet
# 直接运行,不加载数据卷
$ docker run -d --name ch-server --ulimit nofile=262144:262144 -p 8123:8123 -p 9000:9000 -p 9009:9009 yandex/clickhouse-server
# 基于镜像创建容器运行(指定本地磁盘与容器目录的挂载映射)
# --volume=/home/zyx/dockerhome/clickhouse/clickhouse-test-db
$ docker run -d --name clickhouse-test-server --ulimit nofile=262144:262144 -p 8123:8123 -p 9000:9000 -p 9009:9009 --volume=/home/zyx/dockerhome/clickhouse/clickhouse-test-db:/var/lib/clickhouse yandex/clickhouse-server
# 1. 进入容器内部
$ docker exec -it clickhouse-test-server /bin/bash
# 2. 在容器内部,运行clickhouse-client
# root@9e40ca366829:注意:这里已经是进入到了容器内部了.
root@9e40ca366829:/# clickhouse-client -m
ClickHouse client version 21.3.5.42 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 21.3.5 revision 54447.