夜樱

安装Docker无法运行服务问题
Docker是一个让应用程序部署在软件货柜下的工作可以自动化进行,借此在Linux操作系统上,提供一个额外的软件抽...
扫描右侧二维码阅读全文
23
2019/06

安装Docker无法运行服务问题

Docker是一个让应用程序部署在软件货柜下的工作可以自动化进行,借此在Linux操作系统上,提供一个额外的软件抽象层,以及操作系统层虚拟化的自动管理机制.

Docker的图标也是非常有趣的也很有代表性,在一个蓝鲸的上表层放上了一个个货柜,就好像运输船运输货物一般,图标也意喻着在使用Docker服务可以使得巨大话的物体装入到docker这个容器里进行运行,在之前一些开发者会议或是讲座上都吹捧过Docker,可以见得Docker是多么受到开发者欢迎的,所以怎能不接触接触?

头图:Hello world - アシマ / Ashima

设备准备

  • 一台能联网的Linux主机

这里我使用的是阿里云的ECS学生机进行,用的是centos7系统 (打完隧道服务后拿来玩docker)

安装过程及问题

  • 检查安装要求是否符合

Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

通过 uname -r 命令查看你当前的内核版本

显示出当前系统版本内核信息:3.10.0-514.26.2.el7.x86_64

1.确保更新到最新的yum源:

$ yum update  #更新yum源

2.安装Docker服务进入主机:

$ yum instasll docker #下载安装docker

安装完成后尝试启动 Docker 后台服务

$ service docker start

运行后弹出信息:Redirecting to /bin/systemctl start docker.service
重定向至/bin/systemctl去启动docker服务
¿这是什么,于是跟着信息去找了bin下的systemctl位置已经usr/bin/systemctl的位置去启动服务,可是到头来都没找到。。。

于是打算先不管了,看看能不能先跑下hello-world的镜像吧

运行镜像:

docker run hello-world

运行后报错

container_linux.go:235: starting container process caused "process_linux.go:339: running prestart hook 0 caused \"fork/exec /usr/bin/dockerd-current;5d0f2880 (deleted): no such file or directory\""
/usr/bin/docker-current: Error response from daemon: oci runtime error: container_linux.go:235: starting container process caused "process_linux.go:339: running prestart hook 0 caused \"fork/exec /usr/bin/dockerd-current;5d0f2880 (deleted): no such file or directory\"".

¿我擦这是什么鬼报错,这说明docker服务出现了问题,查找询问后得到了解决方法

systemctl stop docker.service    让系统停止docker服务
systemctl start docker.service    让系统启动docker服务

运行即可解决

据了解这是因为Linux组产生的一个问题,因为没深入了解过所以也就先这样吧,计算机学的东西课太多了吧。。。

之后运行后在尝试运行下镜像hello-world下:

正常运行显示:

> Hello from Docker! This message shows that your installation appears
> to be working correctly.
> 
> To generate this message, Docker took the following steps:
>  1. The Docker client contacted the Docker daemon.
>  2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
>     (amd64)
>  3. The Docker daemon created a new container from that image which runs the
>     executable that produces the output you are currently reading.
>  4. The Docker daemon streamed that output to the Docker client, which sent it
>     to your terminal.
> 
> To try something more ambitious, you can run an Ubuntu container with:
> $ docker run -it ubuntu bash
> 
> Share images, automate workflows, and more with a free Docker ID: 
> https://hub.docker.com/
> 
> For more examples and ideas, visit: 
> https://docs.docker.com/get-started/

之后在用docker的容器下运行处一句Hello world

docker run ubuntu:16.04 /bin/echo "Hello world"

就可以返回到信息Hello world了

Last modification:June 23rd, 2019 at 05:06 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment