群晖NAS通过Docker创建CentOS 7

2020年4月14日15:25:02 36 17,381

最近在折腾群晖NAS,想说搭建个CentOS系统自己玩。简单记录下操作流程。

一、前期准备

在群晖的套件中心搜索docker,并安装这个套件

 

二、创建容器

1、下载镜像

打开docker,在注册表选择需要下载的镜像,双击centos

群晖NAS通过Docker创建CentOS 7

在选择标签菜单里选择需要安装的镜像版本

群晖NAS通过Docker创建CentOS 7

然后会在映像里显示下载情况

群晖NAS通过Docker创建CentOS 7

2、创建容器

双击下载好的映像,弹出常规设置,修改容器名称

群晖NAS通过Docker创建CentOS 7

高级设置,勾选启用自动重新启动(当容器非正常关机后,会自动重启)

群晖NAS通过Docker创建CentOS 7

高级设置->卷,添加文件夹。意思是:文件放在虚拟机的data文件夹,会在nas的/docker中显示

群晖NAS通过Docker创建CentOS 7

高级设置->网络,默认使用bridge就可以

群晖NAS通过Docker创建CentOS 7

高级设置->端口设置,配置好ssh的端口,容器内得ssh端口不能用22,会和nas的冲突

群晖NAS通过Docker创建CentOS 7

配置完成后,确认。就会在容器栏生成一个容器

群晖NAS通过Docker创建CentOS 7

 

三、配置SSH

1、安装yum包

双击容器,就可以进入到终端进行操作了

首先更新系统:yum -y update

安装所需yum包:yum install vim openssl openssh-server net-tools initscripts -y

群晖NAS通过Docker创建CentOS 7

2、创建ssh key

# ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N '' 

# ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''

# ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''

3、修改sshd_config

UsePrivilegeSeparation sandbox 改为 UsePrivilegeSeparation no

UsePAM yes 改为 UsePAM no

4、修改ssh_config

修改Port 22 为Port 2222
找到#PermitRootLogin no 需要去掉#
如果是用root登陆,需要把PermitRootLogin no改成PermitRootLogin yes

5、启动ssh

# /usr/sbin/sshd -D &
# echo "/usr/sbin/sshd -D &"  >> /etc/rc.local  添加到开机启动,就不用每次重启后运行了

6、修改root密码

# passwd root

至此,环境已经配置好,可以在本地通过ssh root@$nas_ip:port登录到CentOS了

 

weinxin
聂扬帆博客
一个分享IT运维相关工作经验和实战技巧的个人博客

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:36   其中:访客  21   博主  15

    • avatar leg1245864 5

      按照这个步骤 为什么我无法启动服务器 显示错误
      WARNING: ‘UsePAM no’ is not supported in Red Hat Enterprise Linux and may cause several problems.
      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

        • avatar yangfannie Admin

          @leg1245864 可能是系统版本不一样,你直接用yes吧 也是可以的

            • avatar Bachelor6611 5

              @yangfannie 博主你好,十分感谢你的文章,我按照你文章的内容已经配置好了,不过用ssh登录的时候一直进不去,请问登录时候的用户名和密码如何确定?谢谢!

                • avatar yangfannie Admin

                  @Bachelor6611 就是你docker里配置的用户和密码

              • avatar Bachelor6611 5

                @leg1245864 我个人猜测是你没有把楼主的代码打全,所以找不到ssh key。楼主的代码是:
                # ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ”
                # ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ”
                # ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ”
                后面有两个单引号的。

              • avatar meyer 5

                参照你得步骤,ssh登录得时候,输入密码一直提示:Access denied.

                  • avatar yangfannie Admin

                    @meyer 你用的是什么用户登录的

                    • avatar Denny 5

                      @meyer 使用root登录的,一直提示Access denied. 改了很多次密码都没用…

                        • avatar jakk 5

                          @Denny 解决这个问题了吗?我的也是这个情况,试了好多次。

                            • avatar zhibaba 5

                              @jakk 同样问题 怎么解决呢

                                • avatar yangfannie Admin

                                  @zhibaba 用root登陆,需要把PermitRootLogin后面的no改成yes

                          • avatar qq2221314327 5

                            如何修改CentOS 7默认语言为中文

                              • avatar yangfannie Admin

                                @qq2221314327 修改文件/etc/locale.conf

                                  • avatar 三體 5

                                    @yangfannie 如何修改啊?

                                      • avatar yangfannie Admin

                                        @三體 编辑/etc/locale.conf
                                        LANG=”zh_CN.UTF-8″ #修改为中文
                                        LANG=”en_US.UTF-8″ #修改为英文

                                  • avatar 招投标 5

                                    博客很棒 欢迎回访我哦

                                    • avatar adhi 5

                                      群晖里运行容器 centos7 systemctl命令出现错误:
                                      Failed to get D-Bus connection: Operation not permitted

                                        • avatar yangfannie Admin

                                          @adhi 用这种方式运行容器docker run –privileged -it –name xxxx centos:7 /usr/sbin/init

                                            • avatar Adhi 5

                                              @yangfannie 那就不能用docker app去启动容器啊
                                              只能用命令去执行啊

                                                • avatar yangfannie Admin

                                                  @Adhi 两种方式:1、用上面提供的命令启动容器,可以支持systemctl命令
                                                  2、用其他命令代替systemctl,如init.d

                                                    • avatar adhi 5

                                                      @yangfannie 好的,谢谢啊

                                                      • avatar Adhi 5

                                                        @yangfannie 我想在群晖中开启web目录浏览功能,但是开不开,不知道高手怎么整?

                                                        • avatar yangfannie Admin

                                                          @Adhi 这个我没具体整过,不过流程是用web station插件+web导航模板实现。具体的操作步骤网上搜下应该挺多的

                                                          • avatar adhi 5

                                                            @yangfannie 最后还是通过 docker nginx解决了目录浏览功能

                                                    • avatar MLF 5

                                                      如果选择的网络模式是bridge 那么用ssh链接的时候 用是群辉的ip+端口吗? 一直没有实现ssh 试用了host 也是没办法ssh到容器内的centos,希望大神能解答一下

                                                        • avatar yangfannie Admin

                                                          @MLF 我用的就是bridge模式,ip是用群晖的IP,端口你得设置一个非22的端口,然后做个映射绑定就可以了

                                                        • avatar 5

                                                          修改命令你发一下呀,小白也不懂,,百度又搜不到

                                                            • avatar yangfannie Admin

                                                              @ linux的vim命令打开进去修改,这应该是最基本的吧

                                                            • avatar 走远了、 5

                                                              可以直连NAS用docker run吗? -v 绑定是否必须在/volumel/docker/下 ? 不敢轻易尝试怕突然就把nas干趴下了 :lol:

                                                                • avatar yangfannie Admin

                                                                  @走远了、 我这docker用的是群晖的套件,不需要运行docker run。都是NAS里界面操作的

                                                                • avatar fafafa 5

                                                                  能直接公网访问这个吗?

                                                                    • avatar yangfannie Admin

                                                                      @fafafa 那你的有公网IP配在nas上,或者用内网穿透的方式

                                                                    • avatar loinside 5

                                                                      怎么修改sshd_config啊?不知道怎么打开config修改,求楼主指教

                                                                        • avatar yangfannie Admin

                                                                          @loinside 容器是个linux系统,vim /etc/ssh/sshd_config 打开修改就好

                                                                        • avatar loinside 5

                                                                          楼主我配置完用ssh链接显示:服务器网络异常。请问这个怎么解决呢?

                                                                            • avatar yangfannie Admin

                                                                              @loinside 重启ssh看下,或者你docker配置有啥问题