LEDE下安装Docker版CentOS
之前写了Koolshare版LEDE安装Docker的相关文章:https://bugxia.com/?s=docker
这次记录一下折腾Docker容器版的CentOS
一、部署Docker
略
二、部署CentOS For Docker镜像
可以直接部署lastest,最新版镜像
docker pull centos
也可以选择版本进行部署,如:
docker pull centos:7.6.1810
二、测试CentOS
1.检查镜像
docker images
2.创建容器
docker run -it --privileged centos /bin/bash
p.s -i
以交互模式运行容器 -t
为容器重新分配一个伪输入终端 --privileged
高权限模式(否则CentOS下的有些命令无法执行)
这一步执行后会直接进入CentOS容器的命令行界面
3.检查系统信息
uname -a
cat /etc/redhat-release
4.修改root密码(方便SSH使用)
passwd root
三、开启CentOS的SSH
1.安装SSH及相关组件
yum install net-tools openssh-server -y
2.开启SSH
直接执行 /usr/sbin/sshd -D
则会报错
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key
sshd: no hostkeys available — exiting.
需要先使用 ssh-keygen 工具 生成相应的key文件
#每一步需单独执行,一路回车确定即可
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -t rsa -f /etc/ssh/ssh_host_ecdsa_key
ssh-keygen -t rsa -f /etc/ssh/ssh_host_ed25519_key
启动SSH
/usr/sbin/sshd
查看运行状况
netstat -ntlp
四、退出输入终端
输入 exit
退出CentOS容器的命令行界面,此时容器依然在运行,可以通过SSH客户端进入到CentOS
如果想停止该容器,先查看容器ID
docker ps -a
启动或停止CentOS容器
docker start 容器ID
docker stop 容器ID
五、再次进入容器
需修改Dockerfile并重新build才能实现SSH的自启,所以在容器重启后,需要进入CentOS的容器,重新启动SSH服务
先进入CentOS容器伪输入终端
docker exec -ti 容器ID /bin/bash
再启动SSH
/usr/sbin/sshd
13 条评论
我想用lede搞个可道云盘,装上lnmp了说缺组件,查了官网的组件打开还是不行,反正怎么都不行,最后想到在docker装centos再装lnmp之类的,装了宝塔,无法访问http://ip:8888,局域网我公网都不通,路由器找了一圈也没见着有独立IP,难道不能互通了?
@ysp
docker装centos再装宝塔真是给自己找罪受啊……
其实你一开始想的装个lnmp环境,再装kod,这样就是最优解了,openwrt下已编译的php的扩展基本都能找到
@Bug侠
oponwrt的lnmp都不能用再koolshare lede,我试过好多个,无奈个人比较喜欢koolshare界面,现在都在尝试自己编译openwrt了 打算放弃koolshare
@ysp
我之前玩koolshare软件中心自带的lnmp插件时也是各种折腾,现在我也转到lean了,koolshare的太垃圾了,主要是不开源,出现bug都不好分析是哪有问题
@Bug侠
嗯,koolshare不开源必须差评,大家都在说lnmp插件装上了也提示MySQL未运行,PHPmyadmin都不能正常运行,如果跟我们有一样需求的还是选lean的openwrt吧,查了资料docker里面装的程序可以改网桥,但是不能跟宿主机同网段,有方法局域网互通,所以外网访问基本没戏
我这里的centos端口映射了,外网22端口能访问,但是其他的端口就不能访问了,防火墙已经卸载掉了
@Noob
你能看到docker里面centos的IP了吗还是直接有路由器ip?
@ysp
我是直接物理机上装centos,他直接就有ip了比如192.168.2.5,我是路由器拨号的,光猫是一号网段,就是不知道为什么自定义映射的端口没办法从外网加入
@冰皇
80\443端口一搬都是屏蔽的,试试别的看吧,如果不行Google查一下资料应该会有你要的
我放弃lede的docker了,一开docker nat环回就出现问题,不能在局域网使用动态域名访问路由器,流量可以。还有就是想跟你交流一下你这个bugxia的网站是怎么被百度收录的,我网站百度搜不到呢
@Summer
我也是放弃了,我用的koolshare LEDE的docker,这货不开源,想修改或者出问题排查都没地方下手,现在改用群晖下的Docker,挺好的。我就每次发布新文章时,用的百度提交文章链接的API自动提交给百度,让它来爬,这里:https://bugxia.com/226.html
创建容器那一步会报错,docker: Error response from daemon: error creating overlay mount to /mnt/sdb/docker/data/overlay2/4c9e31cc30ab9241f1f7ad619a1cc8ae164d619255a8da7231a72581e43ed536-init/merged: invalid argument.
See ‘docker run –help’.
@joker
参数错误,我这边是可以的