社区电脑网络 → 浏览:帖子主题
* 帖子主题:boot2docker.iso 的开机自启脚本
pojin (ID: 1)
头衔:论坛坛主
等级:究级天王[荣誉]
积分:2826
发帖:230
来自:保密
注册:2023-12-09 09:36:49
造访:2026-05-05 13:56:22
[ 第 1 楼 ] 151 回复
虚拟机从 boot2docker.iso 启动并运行 docker 非常方便,但因为是从 iso 启动,对于 boot2docker 的一些设置在重启后将失效。好在 boot2docker 提供了一个 bootlocal.sh 的脚本,重启后可以通过脚本将部分设置恢复到重启前的状态。

bootlocal.sh 的位置在(此文件默认并不存在 😓):/var/lib/boot2docker (实际指向 /mnt/sda1/var/lib/boot2docker,所以能够持久生效),需要使用 root 权限才能编辑,可以 sudo su 切换到 root 身份,或者直接 sudo vi /var/lib/boot2docker/bootlocal.sh,然后输入需要处理的脚本,例如:

#!/bin/sh
echo -e "new_pass\nnew_pass" |passwd docker
echo '{"registry-mirrors":["https://registry.docker-cn.com"]}' > /etc/docker/daemon.json
然后,chmod +x /var/lib/boot2docker/bootlocal.sh,将脚本变为可执行。

提示:开机时执行 bootlocal.sh 的用户为 root,而不是登录后的 docker,所以不用担心权限问题。
2024-03-30 22:22:30 IP:已设置保密
pojin (ID: 1)
头衔:论坛坛主
等级:究级天王[荣誉]
积分:2826
发帖:230
来自:保密
注册:2023-12-09 09:36:49
造访:2026-05-05 13:56:22
[ 第 2 楼 ] 154 回复
boot2docker.iso 的 sshd 服务配置文件保存路径为:
vi /mnt/sda1/var/lib/boot2docker/ssh/sshd_config
此文件保存在本地硬盘上,该文件有3行命令需要修改:
AllowAgentForwarding yes
AllowTcpForwarding yes
GatewayPorts yes
# 然后,查看 1900 端口的状态
netstat -pant |grep 1900
如果显示:0.0.0.0:1900 则可以在虚拟机外部连接。
修改完毕后,重启服务器生效。

也可以使用指令重启 openssh 服务:
/usr/local/etc/init.d/openssh restart
但不建议登入 ssh 执行此命令重启,会造成 ssh 服务卡死。
2024-04-01 00:26:37 IP:已设置保密
分页: 1, 共 1 页
快速回复主题
账号/密码
用户: 没有注册? 密码:
评论内容