gpt4 book ai didi

ruby-on-rails - 如何在不丢失数据的情况下启动已经配置的 Vagrant box

转载 作者:行者123 更新时间:2023-12-05 06:41:19 26 4
gpt4 key购买 nike

每当我尝试在没有 --provision 标志的情况下使用 vagrant up(在 Mac OSX 上)启动我的 vagrant box 时,我都会收到此错误:

==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: flag to force provisioning. Provisioners marked to run always will still run.

我可以通过 ssh 进入 vagrant box,但是我无法访问网络服务器。

当我运行 vagrant up --provision 时,盒子会启动,我可以访问服务器,但这会删除每个 session 中的所有数据。

问题发生在输入 vagrant halt 并尝试使用 vagrant up 再次启动盒子后。在 vagrant destroy 之后输入 vagrant up 时不会发生这种情况,但是 destroy 也会删除所有数据库等,所以我想要另一个选项。有人有什么建议吗?

我正在使用一个现有的 repo 及其自己的 Vagrantfile。该项目使用 Ruby on Rails 和 Sqlite3。

编辑:link to vagrantfile

最佳答案

问题是您的配置启动了 rails 命令,但在它没有持续存在之后,所以当您重新启动 VM 时,该命令不会运行并且 rails 不会启动,例如,您可以在 cron 作业中添加该命令以确保它启动自动。

但为了简单起见,您可以添加以下配置程序以在每次启动 VM 时启动 rails

  config.vm.provision :shell, privileged: false, run: "always", inline: %(
cd /vagrant/
bundle exec unicorn_rails -D
sudo service nginx restart
)

关于ruby-on-rails - 如何在不丢失数据的情况下启动已经配置的 Vagrant box,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40772779/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com