套娃!在Docker套娃Centos

套娃!在Docker套娃Centos

 次点击
6 分钟阅读

为什么要用Docker运行Centos呢?

最近在研究私服架设,买的虚拟机有其他的业务不能满足架设要求,大部分搭建都需要MySQL5.6、PHP5.x、PHP7.x等环境,等等那么为什么不用Docker来安装环境呢? 这是一个好问题,因为还需要安装宝塔、还要满足端口的要求。

用Docker安装Centos可以很轻松的得到一个纯净的Centos系统,可以SSH、安装宝塔、相当于就是一个完整系统了。

拉取镜像:

docker pull centos:centos7
# 安装docker的主机最好是centos7的,不然可能会不能使用

运行镜像:

# docker命令方式
# --privileged 给予特权模式
# --name 你想要命名的名字
# -p 522:22 将ssh的22端口映射到主机的522端口
# /usr/sbin/init 初始化
docker run -d --name=centos7 --privileged -p 522:22 centos:centos7 /usr/sbin/init

配置SSH:

这个镜像只含基础功能,默认没有安装SSH,所以还无法通过IP:522端口进行远程访问。

由于CentOS官方已全面停止维护CentOS Linux项目,公告指出 CentOS7和8在2024年6月30日停止技术服务支持,导致CentOS系统源已全面失效,比如安装宝塔等等会出现网络不可达等报错,解决方案是更换系统源。输入以下命令:

# 进入容器
docker exec -it centos7 bash

# centos7已经停止维护了,需要换源
bash <(curl -sSL https://linuxmirrors.cn/main.sh)

# 安装SSH
yum install -y openssh-server

# 修改root密码
# 输入密码的时候不可见确认输入了就行
passwd root

# 启动ssh服务
systemctl start sshd.service

# ssh开机启动
systemctl enable sshd.service

# 查看ssh状态
systemctl status sshd.service

修改SSH配置文件

SSH默认不允许root用户通过密码进行登录,需要修改配置文件:/etc/ssh/sshd_config

vi /etc/ssh/sshd_config
# 修改PermitRootLogin和PasswordAuthentication并去除注释#
PermitRootLogin yes
PasswordAuthentication yes

# 保存
按一下esc
然后输入:wq

# 重启SSH服务
systemctl restart sshd

远程访问:

通过cmd或者xshell等其他客户端工具进行访问。

ssh root@you-ip 522

Docker compose模板

services:
  ltcq:
    image: centos:centos7
    container_name: centos7 #容器名字
    command: /usr/sbin/init
    privileged: true
    restart: always #重启策略
    ports: #开放端口
      - "522:22"
      - "81:81"
      - "9001:9001"
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./data:/data #需要映射进容器的文件

© 本文著作权归作者所有,未经许可不得转载使用。