• Docker创建Centos踩出来的坑


    屁话不多说,先来一遍正常的流程

    1、下载centos镜像

    # docker pull centos

    2、运行容器,修改镜像

    2、1 运行

    # docker run -itd --name centos7 imageID /bin/bash

    2、2 安装必要功能

    --进入centos容器
    # docker exec -it centos7 /bin/bash
    
    --没有ifconfig、ssh、vim、tree、wget等等,需要分别安装
    --安装ifconfig
    # yum search ifconfig
    # yum install net-tools.x86_64
    --安装ssh服务器
    # yum list openssh
    # yum install -y openssh-server
    --安装ssh客户端(非必须,有需求就装)
    # yum install -y openssh-clients
    --安装wget
    # yum install -y wget
    --换源
    # wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    # yum makecache

    --开启sshd服务
    # systemctl start sshd
    --这里会报错,坑就在这里,别急接着往下看

    3、保存修改,打包发布或者备份

    --退出centos容器
    # exit
    
    --保存修改
    # docker commit centos7 new_image_centos7:v1.0
    --查看是否保存成功
    # docker images
    
    --保存修改后的镜像到本地文件系统
    # docker save imageID > /home/centos7_update.jar
    
    --删除之前无用的容器和镜像
    # docker stop centos7
    # docker rm $(docker ps -aq)
    # docker rmi imageID_1 imageID_2

    4、重新加载备份文件到docker,并且运行

    --加载镜像备份文件
    # docker load < /home/xxx.jar
    --这时候可以查看镜像是否加载
    # docker iamges
    
    --运行镜像
    # docker run -itd -p 8080:22 --name centos7 imageID /bin/bash
    --这也是个坑,留心

    5、本地用ssh软件访问(我用SecureCRT)

    然后结果就亮了:远程禁止你ssh连接

    原因:猜测ssh服务没起来,进去一看果然(ps -ef | grep ssh   结果没有开启)

    1、尝试开启sshd服务:

    --开启服务不用service,改为systemctl了
    --以前用 service sshd start
    # systemctl start sshd
    
    结果:Failed to get D-Bus connection: Operation not permitted

    经过百度搜索,发现:这是兼容性问题

    2、解决

    --运行镜像步骤改变
    # docker run -itd -p 8080:22 --name centos7 imageID /usr/sbin/init
    --这不用/bin/bash
    
    --进入centos7容器,开启服务就可以了
    # docker exec -it centos7 /bin/bash
    # systemctl start sshd
    --查看是否启动
    # ps -ef | grep ssh

    3、结尾

    --重新连接让输入用户名密码,但是有问题---》没密码
    --所以在容器中要设置root密码
    # passwd root
    ....
    ....
    
    --开始连接吧

    如果转载请在开头大字注明出处,谢谢

  • 相关阅读:
    另类去除标记<font face="宋体"></font>的方法
    ServerVariables 说明
    ServerVariables变量列表
    【转】MyBatis的foreach语句详解
    【转载】适合儿童上手的八款编程工具
    【转载】winfrom里的datagridview里添加单选按钮
    【转】C#中HttpWebRequest的GetRequestStream执行的效率太低,甚至偶尔死掉
    Eclipse快捷键大全(转载)
    【转】关于Integer大小比较的问题
    【转载】HttpWebRequest的GetResponse或GetRequestStream偶尔超时 + 总结各种超时死掉的可能和相应的解决办法
  • 原文地址:https://www.cnblogs.com/webyyq/p/8893798.html
Copyright © 2020-2023  润新知