Vagrant 安装
Vagrant 的安装不再赘述,可以参考下面的地址
https://blog.csdn.net/u014636209/article/details/103052261#2vagrant_7
如何保证宿主主机与虚拟机的网络能够共享
修改VagrantFile文件的属性
localhost:centos7 gaoxinfu$ pwd
/Users/gaoxinfu/docker/centos7
localhost:centos7 gaoxinfu$ ls
Vagrantfile
把下面VagrantFile文件中的这行注释打开即可
config.vm.network "public_network"
测试网络是否能否ping通
登录Vagrant创建的centos机器,查看centos机器的ip
localhost:centos7 gaoxinfu$ vagrant ssh
Last login: Sat Nov 23 23:28:15 2019
[vagrant@localhost ~]$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:8a:fe:e6 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global noprefixroute dynamic eth0
valid_lft 85003sec preferred_lft 85003sec
inet6 fe80::5054:ff:fe8a:fee6/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:cc:9d:4d brd ff:ff:ff:ff:ff:ff
inet 192.168.1.7/24 brd 192.168.1.255 scope global noprefixroute dynamic eth1
valid_lft 257811sec preferred_lft 257811sec
inet6 fe80::a00:27ff:fecc:9d4d/64 scope link
valid_lft forever preferred_lft forever
[vagrant@localhost ~]$
如上,当前创建的centos虚拟机的ip为 192.168.1.7
在宿主主机(本地自己的电脑机器)上进行测试ping一下虚拟机的ip
localhost:~ gaoxinfu$ ping 192.168.1.7
PING 192.168.1.7 (192.168.1.7): 56 data bytes
64 bytes from 192.168.1.7: icmp_seq=0 ttl=64 time=0.376 ms
64 bytes from 192.168.1.7: icmp_seq=1 ttl=64 time=0.513 ms
64 bytes from 192.168.1.7: icmp_seq=2 ttl=64 time=0.411 ms
64 bytes from 192.168.1.7: icmp_seq=3 ttl=64 time=0.365 ms
如上,已经能够ping通
这样后面,我们在自己的本地,如果需要访问虚拟机里的应用服务,就可以使用虚拟机的ip+端口就可以访问了
如何能够通过SFTP登录虚拟机
查看当前虚拟机的配置
进入我们创建的虚拟机的目录,使用vagrant ssh-config 查看虚拟机的ssh的配置
(前提是你肯定要启动当前的虚拟机)
如下:
localhost:centos7 gaoxinfu$ pwd
/Users/gaoxinfu/docker/centos7
localhost:centos7 gaoxinfu$ vagrant ssh-config
Host default
HostName 127.0.0.1
User vagrant
Port 2222
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile /Users/gaoxinfu/docker/centos7/.vagrant/machines/default/virtualbox/private_key
IdentitiesOnly yes
LogLevel FATAL
localhost:centos7 gaoxinfu$
进入虚拟机查看虚拟机的IP
localhost:centos7 gaoxinfu$ vagrant ssh
Last login: Sat Nov 23 23:37:24 2019 from 10.0.2.2
[vagrant@localhost ~]$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:8a:fe:e6 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global noprefixroute dynamic eth0
valid_lft 84489sec preferred_lft 84489sec
inet6 fe80::5054:ff:fe8a:fee6/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:cc:9d:4d brd ff:ff:ff:ff:ff:ff
inet 192.168.1.7/24 brd 192.168.1.255 scope global noprefixroute dynamic eth1
valid_lft 257297sec preferred_lft 257297sec
inet6 fe80::a00:27ff:fecc:9d4d/64 scope link
valid_lft forever preferred_lft forever
[vagrant@localhost ~]$
如上ip是 192.168.1.7
设计虚拟机的root账户可以通过密码登录
进入虚拟机之后,
我们通过root账户登录(命令 sudo -i)
[root@localhost ~]# sudo -i
[root@localhost ~]# vi /etc/ssh/sshd_config
在上面的命令中配置下面这个属性
PasswordAuthentication yes
相应的
PasswordAuthentication no
这个要注释掉
使得上面的的配置生效
[root@localhost ~]# systemctl restart sshd
[root@localhost ~]#
以sftp的形式通过root账户登录虚拟机
登录成功
这里注意下,我们也可以通过127.0.0.1 去访问上面的机器
上面的端口之所以是2222,是由于我们vagrant创建的虚拟机的端口映射到本地是2222
localhost:centos7 gaoxinfu$ pwd
/Users/gaoxinfu/docker/centos7
localhost:centos7 gaoxinfu$ vagrant ssh-config
Host default
HostName 127.0.0.1
User vagrant
Port 2222
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile /Users/gaoxinfu/docker/centos7/.vagrant/machines/default/virtualbox/private_key
IdentitiesOnly yes
LogLevel FATAL
localhost:centos7 gaoxinfu$
顺便修改当前root账户的密码
[root@localhost ~]# passwd
Changing password for user root.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
如何保证本地的文件夹内容与Vagrant创建的服务器里文件夹内容的同步
1.打开Vagrantfile文件,配置下面属性即可
2.这样你在本地开发了东西之后,他会是自动的同步到服务器里对应的文件夹下面
# config.vm.synced_folder "../data", "/vagrant_data"
第一个目录是你本地的目录,第二个目录是vagrant创建的系统服务器的文件夹目录
比如Windows系统:
config.vm.synced_folder "E://data", "/weblogic/data"
或者Mac|linux系统:
config.vm.synced_folder "/data", "/weblogic/data"