001--【docker】安装centos

1、写作目的

使用docker进行容器化模拟操作系统,这样就可以模拟多个虚拟机,然后用SSH连接到虚拟机,进行相关的操作

2、参考网址:

  • centos内部安装镜像1:https://www.cnblogs.com/jing1617/p/9474545.html
  • centos内部安装镜像2:https://blog.csdn.net/qq_38191191/article/details/83781760
  • 外部SSH连接:https://www.cnblogs.com/zhengbin/p/6359216.html
  • 全流程参考:https://blog.csdn.net/yangym2002/article/details/79000241

3、核心操作

0、以前下载的centos7.1在使用的时候总是有各种问题,今天果断抛弃,重新开始
清除所有的yum相关
yum clean all && yum swap -y fakesystemd systemd

重新下载centos7
docker pull centos7

1、清空所有的yum,重新安装
docker run -itd 9f38484d220f /bin/bash
docker attach bbffc6952d90

docker run -itd 9f38484d220f /bin/bash
docker attach 8471095cb9a8
2、进入容器内部安装docker

  • 安装Docker CE
    如果系统已经有Docker,则需要先删除它们:
    yum remove docker docker-common docker-selinux docker-engine
  • 使用Docker repository
    安装yum工具
    yum install -y yum-utils device-mapper-persistent-data lvm2
  • 添加Docker repo
    yum-config-manager
    --add-repo
    https://download.docker.com/linux/centos/docker-ce.repo
  • 更新yum缓存
    yum makecache fast

  • 安装Docker-ce
    yum install docker-ce -y

  • 查看镜像是否安装成功
    docker -v

3、在内部容器内安装SSH外部连接工具

  • 安装ifconfig和ssh
    yum search ifconfig
    yum install net-tools.x86_64 -v

  • 看一下IP地址:ifconfig

  • 查看ssh服务
    rpm -qa |grep sshd
    rpm -qa |grep ssh

  • 安装ssh服务
    yum install -y openssh-server

  • 解决启动sshd报错
    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

  • 修改 /etc/ssh/sshd_config 配置信息:
    vi /etc/ssh/sshd_config
    UsePAM yes 改为 UsePAM no
    UsePrivilegeSeparation sandbox 改为 UsePrivilegeSeparation no(前面的#不要去掉)

  • 然后执行
    sed -i "s/#UsePrivilegeSeparation./UsePrivilegeSeparation no/g" /etc/ssh/sshd_config
    sed -i "s/UsePAM.
    /UsePAM no/g" /etc/ssh/sshd_config

  • 修改完后,重新启动sshd
    /usr/sbin/sshd
  • 修改root密码
    passwd root

  • 然后退出,但不停止容器
    Ctrl+P+Q

4、退出容器,然后commit该定制镜像
docker stop

5、提交当前容器到镜像
docker commit <容器ID>

6、启动新容器,并且进行端口映射
docker run -itd -p 50001:22 -d 2a0aa5d6748c /usr/sbin/sshd -D

docker run -p 700:22 -v /apps/software:/apps/docker/software --name enzoOS -d 2a0aa5d6748c /usr/sbin/sshd -D

【这种方式可以继续使用docker镜像】
docker run -it
-v /var/run/docker.sock:/var/run/docker.sock
-v /usr/bin/docker:/usr/bin/docker
-v /lib64/libltdl.so.7:/lib64/libltdl.so.7
--name enzoOS
-p 1100:22
-d 2a0aa5d6748c /usr/sbin/sshd -D

7、使用XShell连接
宿主机的IP:50001(根据用户自己暴露端口)

你可能感兴趣的:(001--【docker】安装centos)