Docker 新建镜像容器问题记录及解决
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker 新建镜像容器问题记录及解决相关的知识,希望对你有一定的参考价值。
pipeword安装
# wget https://github.com/jpetazzo/pipework/archive/master.zip
# unzip pipework-master.zip
# cp pipework-master/pipework /usr/local/bin/
# chmod +x /usr/local/bin/pipework
问题使用pipeword 设置IP地址是提示错误:
[[email protected] pipework-master]# ./pipework docker0 test 172.17.42.100/[email protected]
Object "netns" is unknown, try "ip help".
在分配IP的时候,出现红色错误
该错误是由于系统版本暂时不支持namespaces, 可通过更新内核或者iproute的方法获取对namespaces的支持.更新方法如下:
vim /etc/yum.repos.d/CentOS-Base.repo[openstack-kilo] name=OpenStack Kilo Repository baseurl=https://repos.fedorapeople.org/repos/openstack/EOL/openstack-icehouse/epel-6/ skip_if_unavailable=0 enabled=1 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-RDO-kilo
增加蓝色部份
## 接下来更新iproute即可:
# yum update iproute -y
问题:ssh 登录容器不成功 提示 “ssh debug1: Exit status 254”
解决方法:
更改将要ssh链接容器里面的sshd_config
更改将要ssh链接容器里面的sshd_config
其中的 UsePAM 改成 no
问题:安装supervisor
# 安装 yum install python-setuptools -y easy_install supervisor # 生成默认配置文件 sh -c 'echo_supervisord_conf > /etc/supervisord.conf' # 创建启动脚本 vim /etc/rc.d/init.d/supervisord
#!/bin/bash . /etc/init.d/functions DAEMON=/usr/bin/supervisord PIDFILE=/var/run/supervisord.pid [ -x "$DAEMON" ] || exit 0 start() { echo -n "Starting supervisord: " if [ -f $PIDFILE ]; then PID=`cat $PIDFILE` echo supervisord already running: $PID exit 2; else daemon $DAEMON --pidfile=$PIDFILE -c /etc/supervisord.conf RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/supervisord return $RETVAL fi } stop() { echo -n "Shutting down supervisord: " echo killproc -p $PIDFILE supervisord echo rm -f /var/lock/subsys/supervisord return 0 } case "$1" in start) start ;; stop) stop ;; status) status supervisord ;; restart) stop start ;; *) echo "Usage: {start|stop|status|restart}" exit 1 ;; esac exit $?
赋权
chmod +x /etc/rc.d/init.d/supervisord
安装链接:http://blog.csdn.net/wangjia184/article/details/44749037
当yum安装报错时需要手动进行编译安装
操作如下:
安装Supervisor
执行以下命令:
yum install python-setuptools
easy_install supervisor
或者
如果easy_install不好使就从官方下载:wget https://pypi.python.org/packages/80/37/964c0d53cbd328796b1aeb7abea4c0f7b0e8c7197ea9b0b9967b7d004def/supervisor-3.3.1.tar.gz
然后通过python安装:
# tar zxf supervisor-3.3.1.tar.gz
# cd supervisor
# python setup.py install
如果报错可能:
2.提示setuptools-0.6c11.tar没有安装,
下载https://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
tar zxf setuptools-0.6c11.tar.gz
cd setuptools-0.6c11/
python setup.py build
python setup.py install
提示下载错误,需meld3>0.6.5(根据linux版本到官网https://centos.pkgs.org上面去下载)
下载http://dl.fedoraproject.org/pub/epel/6/x86_64/Packages/p/python-meld3-0.6.7-1.el6.x86_64.rpm
安装 rpm -ivh python-meld3-0.6.10-1.el7.x86_64.rpm
如下提示,安装完成:
http://www.ttlsa.com/linux/using-supervisor-control-program/
免密码登录
使用 ssh-keygen -t rsa 会在root根目录下生成id.rsa(私钥) id.rsa.pub(公钥文件) 这两个文件
需要将 id.rsa.pub 这个文件里面额内容cp到authorized_keys 里面
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
然后针对要免密码登录到本机的系统在.ssh/authorized_keys 这个文件中即可实现免密码登录
以上是关于Docker 新建镜像容器问题记录及解决的主要内容,如果未能解决你的问题,请参考以下文章
docker 容器commit指令和export指令有什么区别?(commit保存镜像提交历史记录,export不保存)