Docker 运行hello-world 以及错误解决
移除旧的版本:sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker...
·
移除旧的版本:
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
安装一些必要的系统工具:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
添加软件源信息:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新 yum 缓存:
sudo yum makecache fast
安装 Docker-ce:
sudo yum -y install docker-ce
启动 Docker 后台服务
sudo systemctl start docker
测试运行 hello-world
docker run hello-world
如果运行hello-world报错:
Error response from daemon: OCI runtime create failed: container_linux.go:344: starting container process caused “process_linux.go:293: copying bootstrap data to pipe caused “write init-p: broken pipe””: unknown.
解决方法:升级kernel版本
#使用elrepo库
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
#查看elrepo库里面的kernel版本
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
#安装kernel-ml
yum --enablerepo=elrepo-kernel install kernel-ml
#重启机器
reboot
修改系统默认使用的kernel版本
#修改最新版kernel为默认启动版本
vi /etc/default/grub
使用下面配置替换原来的配置
GRUB_TIMEOUT=5
GRUB_DEFAULT=0
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap crashkernel=auto rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
#重新生成kernel配置
grub2-mkconfig -o /boot/grub2/grub.cfg
#重启机器
reboot
测试运行 hello-world
#启动docker
systemctl start docker
#运行hello-world
docker run hello-world
参考:
http://www.runoob.com/docker/centos-docker-install.html
https://forums.docker.com/t/centos7-docker-hello-world-fails/68941/3
https://www.tecmint.com/install-upgrade-kernel-version-in-centos-7/
更多推荐
已为社区贡献1条内容
所有评论(0)