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

  1. 提示下载错误,需meld3>0.6.5(根据linux版本到官网https://centos.pkgs.org上面去下载)

  如下提示,安装完成:

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不保存)

解决Docker Hub仓库下载镜像网络异常问题

Docker 学习之镜像导入导出及推送阿里云服务器

[Docker] 学习记录

045由Docker的MySQL官方镜像配置的容器无法启动问题的解决办法

docker用法记录