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.
--查看是否保存成功
# 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 : --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 : --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
....
.... --开始连接吧
如果转载请在开头大字注明出处,谢谢
Docker创建Centos踩出来的坑的更多相关文章
- docker 创建容器时遇到的坑
坑一.时区问题 在创建系统镜像时,比如centos,会默认最小安装,并且时区默认的是UTC 所以在下好centos的原始镜像后,最好再重新构建一个新的镜像 # 命令 docker pull cento ...
- docker 创建容器的时候的坑
其实这个题目的话,对于我后面陈述的问题发生的本身并没有太多的联系,但是因为是在docker创建容器的操作之内发生的,所以记录以下 因为网上有些文章有些作者喜欢使用git的命令窗体,说实在的,公司里面用 ...
- 转:Docker创建centos的LNMP镜像
转自:http://www.vckai.com/p/29 1. 安装docker 这个就不说了,不会的可以看下我之前的文章<Docker介绍及安装>. 1)启动docker # serv ...
- Docker创建centos的LNMP镜像
前段时间重装了系统,今天刚好有时间,就用docker安装一个lnmp开发环境,下面是我的安装笔记. 1. 安装docker 这个就不说了,不会的可以看下我之前的文章<Docker介绍及安装> ...
- 记录一次Oracle创建DBLink踩到小坑
1.查询当前是否具有创建DBlink的权限: select * from user_sys_privs where privilege like upper('%DATABASE LINK%'); 如 ...
- 创建优化的Go镜像文件以及踩过的坑
在Docker上创建Go镜像文件并不困难,但建立的文件很大,接近1G,使用起来不太方便.Docker镜像的一个主要难题就是如何优化,创建小的镜像.我们可以用多级构建的方法来创建Docker镜像文件,它 ...
- docker部署redis及踩到的坑
对docker很好奇,玩了一下,部署了一个redis,结果踩了很多坑 任务目的就是在docker中成功部署redis并保证数据持久化到本地,配置也使用本地配置 docker run -p : -v $ ...
- 利用docker创建支持centos的ssh镜像
创建docker镜像需要基础镜像,目前官方已提供了多种基础镜像,参见: https://hub.docker.com/explore/ 要想创建支持centos的ssh镜像,就需要以centos镜像为 ...
- Docker使用Dockerfile创建Centos(tomcat+jdk)镜像
原文链接:https://blog.csdn.net/qq_37936542/article/details/80824389 Docker构建镜像的方法主要有两种: (1)使用docker c ...
随机推荐
- Sql server 时间格式转化
--.SQL时间格式转化 --日期转换参数 ) --2009-03-15 15:10:02 ),'-',''),' ',''),':','') ) , ) --2009/03/15 ) , ) ) , ...
- vs2015类中方法前的引用链接不显示的解决方案
在工具→选项,打开如下界面,寻找“文本编辑器→所有语言”中设置显示:<img data-rawheight="761" data-rawwidth="130 ...
- new/delete 和malloc/free 的区别
new/delete 和malloc/free 的区别 一.基本概念malloc/free:1.函数原型及说明: void *malloc(long NumBytes):该函数分配了NumB ...
- 关于android的一些博文收集
Java网络编程总结 http://www.cnblogs.com/oubo/archive/2012/01/16/2394641.html Android应用系列:双击返回键退出程序 http:// ...
- Spring开发包介绍
-----------------siwuxie095 核心开发包 建立 Spring 工程时,需要引入 Spring 的开发包,否则无 ...
- GC偏好的校正与偏好程度的评估
在二代测序仪上测出的数据,通常都会表现出测序深度与GC 含量的相关性,称为GC bias. GC bias校正 为了后续生物信息分析更加准确,通常需要做GC bias的校正. 2010 年 steve ...
- web 系统原理之路由器和交换机的区别
工作层次不同: 交换机主要工作在数据链路层(第二层) 路由器工作在网络层(第三层). 转发依据不同: 交换机转发所依据的对象时:MAC地址.(物理地址) 路由转发所依据的对象是:IP地址.(网络地址) ...
- IPMITOOL 配置BMC用户设置
IPMITOOL 配置BMC用户设置 本文档共介绍5条ipmi设置user的命令,这些命令需要使用root权限才能使用,其中- H为需要操作的BMC ip,-I lanplus为使用rmcp+协议发送 ...
- ExecuteNonQuery(),ExecuteScalar(),ExecuteReader的用法-转
using System.Data.SqlClient;...SqlConnection conn = new SqlConnection(@"server=ws7\leosql;datab ...
- Spring Security 入门原理及实战
目录 从一个Spring Security的例子开始 创建不受保护的应用 加入spring security 保护应用 关闭security.basic ,使用form表单页面登录 角色-资源 访问控 ...