1. multipass是啥?
multipass 是一个轻量虚拟机管理器,是由Ubuntu运营公司Canonical所推出的开源项目。运行环境支持Linux、Windows、macOS,在Linux上使用的是KVM、Window上使用Hyper-V、macOS中使用HyperKit以最小开销运行VM。支持在笔记本模拟小型云。
更多内容参考Multipass官网。
2. 安装使用multipass
2.1. 安装multipass
1 | brew install multipass |
2.2. 创建虚拟机
创建一个ubuntu 18.04虚拟机。
1 | multipass find |
2.3. 启停虚拟机
1 | multipass list |
2.4. 删除虚拟机
1 | multipass delete ubuntu18 |
2.5. 使用虚拟机
1 | multipass exec ubuntu18 -- lsb_release -a |
3. 配置远程登录
上文安装好的ubuntu18虚拟机,默认是不支持远程登录的,可以按照如下步骤开启。
1、切换到rootsudo su
2、修改sshd配置,开启支持远程登录vim /etc/ssh/sshd_config
,如下修改:
1 | Port 22 |
3、重启sshdsystemctl restart sshd
4、给ubuntu用户设置一个密码passwd ubuntu
5、登录测试ssh ubuntu@localhost
以上,远程登录开启完成。
4. 安装使用Docker
4.1. 安装Docker
在虚拟机中,使用snap方式安装docker。
1 | sudo su |
snap方式安装的docker,只在用户目录下拥有读写权限。如果对docker挂载路径有要求,建议使用其他方式安装。
4.2. 安装mysql
1 | docker run --name vk-mysql -d \ |
报错为:
docker: Error response from daemon: error while creating mount source path ‘/opt/data/mysql’: mkdir /opt/data: read-only file system.
这就是刚才说到的问题,snap方式安装的docker,只在用户目录下拥有读写权限。可以改成:
1 | docker run --name vk-mysql -d \ |
4.3. 登录mysql
mysql -uroot -p
登录报错:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)
应该是mysql的版本原因,需要指定host ip。
1 | mysql -h127.0.0.1 -uroot -p |