docker run -v 挂载数据卷异常,容器状态一直是restarting的解决

 更新时间:2021年03月23日 09:59:13   作者:流沙的那岐  
这篇文章主要介绍了docker run -v 挂载数据卷异常,容器状态一直是restarting的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

出现的问题:

docker run 加上 -v 参数之后,容器就一直是 restarting 状态,去掉 -v 参数就可以正常运行

查找问题:

使用 docker logs 'containerId'

这个containerId,就是docker run之后返回的containerId

可以看到,是权限拒绝的问题

解决问题:

docker run时加上参数 :加上--privileged=true

例如:

docker run -dit -e MYSQL_ROOT_PASSWORD=123456 --name saasdev-mysql --restart always -v /home/data/mysql:/var/lib/mysql --privileged=true -p 3308:3306 mysql:5.6

问题成功解决,容器正常启动了

一点解释:

--privileged=true

使用该参数,container内的root拥有真正的root权限。

否则,container内的root只是外部的一个普通用户权限。

privileged启动的容器,可以看到很多host上的设备,并且可以执行mount。

甚至允许你在docker容器中启动docker容器

补充:docker --restart=always 参数 docker重启容器自动重启

创建容器时添加参数 --restart=always 后,当 docker 重启时,容器自动启动。

使用方法:

docker container update --restart=always 容器名字

操作实例如下:

[root@localhost mnt]# docker ps -a
CONTAINER ID    IMAGE        COMMAND         CREATED       STATUS       PORTS        NAMES
46cdfc60b7a6    nginx        "nginx -g 'daemon ..."  About a minute ago  Up 42 seconds    80/tcp       n3
79d55a734c26    nginx        "nginx -g 'daemon ..."  About a minute ago  Up 42 seconds    80/tcp       n2
f7b2206c019d    nginx        "nginx -g 'daemon ..."  About a minute ago  Up 46 seconds    80/tcp       n1
[root@localhost mnt]# docker container update --restart=always n1
n1
[root@localhost mnt]# systemctl restart docker 
[root@localhost mnt]# docker ps -a
CONTAINER ID    IMAGE        COMMAND         CREATED       STATUS           PORTS        NAMES
46cdfc60b7a6    nginx        "nginx -g 'daemon ..."  2 minutes ago    Exited (0) 5 seconds ago            n3
79d55a734c26    nginx        "nginx -g 'daemon ..."  2 minutes ago    Exited (0) 5 seconds ago            n2
f7b2206c019d    nginx        "nginx -g 'daemon ..."  2 minutes ago    Up 2 seconds        80/tcp       n1
 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • 详解Dockerfile创建自定义Docker镜像以及CMD与ENTRYPOINT指令的比较

    详解Dockerfile创建自定义Docker镜像以及CMD与ENTRYPOINT指令的比较

    这篇文章主要介绍了详解Dockerfile创建自定义Docker镜像以及CMD与ENTRYPOINT指令的比较,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • docker国内镜像源配置的解决方案

    docker国内镜像源配置的解决方案

    文章介绍了如何配置Docker国内镜像源,以解决拉取镜像时速度慢或无法下载的问题,常见的国内镜像源包括Docker国内镜像源、中科大源、网易源、百度源、腾讯源、阿里源等,配置文件位于/etc/docker/daemon.json,如果没有该文件则需创建并修改
    2025-03-03
  • Docker中的文件/文件夹的挂载映射方式

    Docker中的文件/文件夹的挂载映射方式

    通过命令行在宿主机与Docker容器间挂载和映射文件夹,实现数据共享,具体步骤包括:在宿主机创建文件夹并使用Docker命令将其挂载到容器指定位置,需注意容器名称与ID的使用差异
    2024-11-11
  • Docker下利用jenkins和docker实现持续交付

    Docker下利用jenkins和docker实现持续交付

    这篇文章主要介绍了利用jenkins和docker实现持续交付功能,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • docker-compose部署eureka服务端、客户端的案例代码

    docker-compose部署eureka服务端、客户端的案例代码

    这篇文章主要介绍了docker-compose部署eureka服务端、客户端,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • 在Docker容器中部署静态网页的方法教程

    在Docker容器中部署静态网页的方法教程

    这篇文章主要给大家介绍了在Docker容器中部署静态网页的方法教程,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • 从进程中去理解 Docker隔离技术

    从进程中去理解 Docker隔离技术

    这篇文章主要介绍了从进程中去理解 Docker隔离技术,Docker 公司发布的 Docker 项目具有里程碑式的意义;Docker 项目通过“容器镜像”,解决了应用打包这个根本性难题,下文更多相关资料,需要的朋友可以参考一下
    2022-04-04
  • 部署维护docker环境的详细教程

    部署维护docker环境的详细教程

    这篇文章主要介绍了部署维护docker环境的详细教程,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • dockerfile发布springboot项目实践

    dockerfile发布springboot项目实践

    使用Docker的其中一个目的,是为了更加简单,方便的部署我们编写的服务,本文主要介绍了dockerfile发布springboot项目实践,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08
  • Docker基本概念和底层原理解析

    Docker基本概念和底层原理解析

    Docker是一个Client-Server结构的系统,Docker守护进程运行在主机上,然后通过Socket连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器,本文给大家介绍docker概念和底层原理,感兴趣的朋友一起看看吧
    2022-03-03

最新评论