绿联安装CentOS8容器

1.创建容器

先在客户端安装容器,随后用xshell进入绿联的ssh

绿联如何开启ssh参考视频;2023年11月后,新版本的绿联直接把远程调试打开,给出的调试密钥就是ssh的密码。绿联的ssh端口是922

执行如下命令,以特权模式创建一个centos容器,并将容器内的22端口映射给主机的22222端口;如果你是希望在centos容器上进行网络编程开发,请多映射几个端口,以免到时候没办法访问项目的尴尬情况!

1
2
3
4
5
6
docker run -d \
-p 22222:22 \
--name centos \
--privileged=true \
centos:latest \
/usr/sbin/init

搞定了之后,进绿联客户端,停止容器运行,设置一个文件路径给容器内部,方便docker容器和nas资料互传(不设置也不是不行)

image-20230223192152276

注意,在客户端配置的时候,需要把所有能给的选项(-i -t 高级选项)全都勾上,避免docker安装的centos缺少权限;


回到绿联的ssh终端,用下面的命令进入容器内部

1
docker exec -it centos /bin/bash

你也可以用客户端里面的终端功能,但是那个太简陋了,不太好用。既然都已经能ssh连上绿联了,那完全没必要用客户端;

当然,因为我们已经映射了22端口到绿联的22222端口,所以你直接用ssh链接这个22222端口即可进入docker安装的centos。

1
ssh root@绿联的IP -p 22222

1.1 判断是否成功以特权模式安装

1
systemctl 

执行此命令,看看是否有如下输出。如果没有,代表没有成功以特权模式安装。systemctl在linux中很常用,且开启容器的ssh也需要使用此命令!

image-20230223192918079

如果没能成功使用这个systemctl命令,请删除容器后,重试上面的步骤

2.更新软件

docker安装的Centos并没有虚拟机安装的那么完全,还需要我们进行软件源的配置操作

1
yum update -y && yum upgrade -y

第一次执行此命令的时候,大概率会出现下面的报错(我在两个不同平台的docker里面启动的centos都遇到了这个问题,因为docker安装的centos是最小安装,所以缺少了yum源的配置项)

1
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist

参考 Error: Failed to download metadata for repo ‘appstream‘: Cannot prepare internal mirrorlist 博客,用下面的命令解决这个问题。

如果上面该博客链接无法打开,可以查看本站转载的原文

1
2
3
4
5
cd /etc/yum.repos.d/

sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*

sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

随后执行如下命令。创建缓存

1
yum makecache

执行makecache后,系统会获取一些内容,然后我们重新执行如下命令

1
yum update -y && yum upgrade -y

会进行一连串的更新,直到出现下面的complete窗口,代表成功!

image-20230223193425765

image-20230223193247217

3.ssh链接

3.1 安装passwd

一个linux系统,不能ssh链接可不行,我们需要更新一下内容,实现ssh链接

1
yum install passwd

先安装passwd命令,设置root的密码

1
passwd

会弹出来让你输入密码,盲敲就行

3.2 安装vim和openssh

用下面的命令安装vim和openssh

1
yum install vim openssh-server openssh-clients -y

安装完毕后,修改ssh的配置文件(vim的使用请百度)

1
vim /etc/ssh/sshd_config

取消注释下面的字段即可开启ssh

1
2
3
4
5
6
7
Port 22
ListenAddress 0.0.0.0
ListenAddress ::

PermitRootLogin yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

修改好了之后,退出终端;

用下面的命令重启ssh服务,并设置开机启动ssh

1
2
systemctl restart sshd.service
systemctl enable sshd.service

如果一切正常的话,这两个命令应该什么都不会输出!

3.3 尝试ssh链接

因为我们把docker容器的22端口映射给了nas的22222端口,所以ssh的时候需要指定对应端口进行连接。

1
ssh root@绿联的IP -p 22222

如果一切正常的话,会弹出来让你验证登录,到这里就是ok了

image-20230223194054648

3.4 配置ls命令颜色

1
vim /etc/profile

在末尾添加如下字段

1
2
3
export LS_OPTIONS='--color=auto'
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -lA'

随后重启容器即可

3.5 配置yum阿里源

备份原有源

1
tar -zcvf CentOS-bk.tar.gz /etc/yum.repos.d/CentOS-*

看看本地的centos是什么版本

1
cat /etc/redhat-release

我这里的版本是8.5

1
CentOS Linux release 8.5.2111

替换为阿里源

1
2
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-8.repo

重新生成缓存

1
2
yum clean all
yum makecache

image-20230223200200975

现在速度快多了!

开用!

后续的使用就不再多说拉!既然你想安装centos,想必对linux的了解肯定比我多😂