VirtualBox安装Centos+docker

编程

VirtualBox

VirtualBox 主页 https://www.virtualbox.org/

下载地址: https://www.virtualbox.org/wiki/Downloads

直接下载 win版本 https://download.virtualbox.org/virtualbox/6.1.6/VirtualBox-6.1.6-137129-Win.exe

直接下载 mac版本 https://download.virtualbox.org/virtualbox/6.1.6/VirtualBox-6.1.6-137129-OSX.dmg

记得下载 Extension Pack

https://download.virtualbox.org/virtualbox/6.1.6/Oracle_VM_VirtualBox_Extension_Pack-6.1.6.vbox-extpack

双击安装即可

安装完再双击 Oracle_VM_VirtualBox_Extension_Pack-6.1.6.vbox-extpack 安装扩展包

如果是老版本升级上来,需要先把老扩展包删除,再安装新包

centos

在这里下载 centos 的镜像 https://www.linuxvmimages.com/images/centos-8/

解压缩后,双击就可以导入.

不需要在意这里配置,以后都可以修改

鉴于我的电脑只有2C8G,所以只分配了1C1G 给虚拟机.

配置网络

由于我需要在办公室使用,但并不想暴露在办公网络中,而且喜欢使用 ssh 连接上去工作,所以使用了 NatNetwork+HostOnly的组合.

1. 在 virtualBox的配置里添加 NatNetwork,只需要添加一个就可以.默认配置就好. NatNetwork 会把虚拟机放到自己私有的网段中,他们之间可以联系,但外界,包括宿主机都不能直接访问.

如果你懒得弄,直接使用默认的桥接模式,桥接模式会直接分配虚拟机一个与宿主机平行的 ip 地址,可以相互通讯.

2. 选中 centos 虚拟机,点击配置,进入网络选项

3. 配置虚拟机网络,点击网上1,连接方式改为 Nat 网络,就是上面设置的 NatNetwork,混杂模式改为允许全部,这是 Kali 等学习hacking 时需要,但开开也无访.

4. 点开网上2,连接方式改为"仅主机(Host-only)网络",高级选项一样

开机

选中虚拟机,点击启动就可以开始了

启动成功后,默认账号密码是 centos/centos

进入成功,使用 passwd 命令修改默认密码

下面可以给虚拟机做镜像了

制作镜像

制作好镜像,当你"玩坏"了后,可以很容易再变回来,这才是虚拟机好玩的地方

切换阿里源

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo

cat /etc/yum.repos.d/CentOS-Base.repo

yum makecache # 差不多和 apt update

yum -y update

安装 docker

使用 https://get.daocloud.io/ 来安装

curl -sSL https://get.daocloud.io/docker | sh

会报错: Problem: package docker-ce-3:19.03.8-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed

参考这里解决: https://www.backendcloud.cn/2020/03/16/centos8installdocker/

我们直接升级安装 containerd

yum install -y wget

wget https://download.docker.com/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm

yum install -y containerd.io-1.2.6-3.3.el7.x86_64.rpm

# 再次安装

curl -sSL https://get.daocloud.io/docker | sh

# 安装成功后可以使用下面命令让 centos 可以直接使用 docker 命令

sudo usermod -aG docker centos

安装加速镜像站: https://www.daocloud.io/mirror

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

又发现这个脚本不包括 Centos8

引用: Docker 加速器

参考 CentOS8安装Docker,这里手动配置

echo "{"registry-mirrors": ["http://f1361db2.m.daocloud.io"]}" >/etc/docker/daemon.json

systemctl restart docker

docker info

安装镜像

拿 redis 试水,非常不幸好像现在的镜像都不起作用了,阿里的中文镜像也好像不顶用,这个用户并没有实际上解决,如果有还可以用的同学,不防留言

docker pull redis

Image docker.io/library/redis:latest uses outdated schema1 manifest format. Please upgrade to a schema2 image for better future compatibility. More information at https://docs.docker.com/registry/spec/deprecated-schema-v1/

# 只要用指定 daocloud.io 来获取

docker pull daocloud.io/redis

# 下载成功

迁移镜像和数据

下面需要把原来的数据都迁移过来 比如 mysql

docker save -o mysql.tar mysql:5.7

# 把 mysql.tar 传到虚拟中,导入

docker load --input mysql.tar

再把原来的数据上传,就完成迁移了

centos ssh 无密码登录

进入 centos 后,使用 ifconfig 可以看到当前的 ip 情况,比如我的:

192.168.99.100就是宿主机访问虚拟的地址,ssh 服务默认是打开的,试着用 ssh 登录

ssh centos@192.168.99.100

输入账号密码成功

现在要设置免密登录,centos 的默认是: StrictModes yes,所以创建 .ssh/authorized_keys 需要改权限

mkdir ~/.ssh

chmod 600 ~/.ssh

touch ~/.ssh/authorized_keys

chmod 600 ~/.ssh/authorized_keys

把自己的 key 加入authorized_keys

再登录如果发现还是提示密码,参考 https://blog.csdn.net/lisongjia123/article/details/78513244

SSH不希望home目录和~/.ssh目录对组有写权限,所以还需要

chmod g-w /home/centos

到这里基本上可以,这时可以把 /etc/ssh/sshd_config 中的

PasswordAuthentication no

习惯性把这个关掉.

VirtualBox cpu 占用也高?

很不幸,过一会儿,发我现 VirtualBox 又点到100%cpu,风扇呼呼响,不过查了一下,可以解决

添加虚拟机guest,分4M 内存,不分配硬盘.再打开,可以了,正常情况下,VirtualBox 占用一般在 20%左右可以接受

这时还遇到 cpu 再次高升的问题,我注意到我唯一改变的是关了 VirtualBox 的主控制板.

关掉虚拟机,双击 VirtualBox 重新打开,重新打开 centos,成功.不再关 VirtualBox....

总结

总体上,还是解决了 docker 占资源过大,风扇呼呼吹的问题.

以上是 VirtualBox安装Centos+docker 的全部内容, 来源链接: utcz.com/z/516412.html

回到顶部