首页 > 其他分享 >【随手记录】关于docker启动后一直处于Active: activating (start)状态

【随手记录】关于docker启动后一直处于Active: activating (start)状态

时间:2024-09-06 15:04:51浏览次数:10  
标签:iptables sock start systemctl Active docker Docker

docker部署之后 systemctl start docker 启动服务,服务状态一直处于 Active: activating (start)状态,
使用journalctl -n 50|grep docker查看日志,第一次发现有错误信息:

warning msg="could not change group /var/run/docker.sock to docker: group docker not found"

这个错误表明Docker守护进程试图将/var/run/docker.sock的组更改为docker组,但是没有找到docker组。这通常发生在安装了Docker但未正确配置用户权限时。

解决方法:

1、创建docker组(如果尚未创建):
sudo groupadd docker
2、将当前用户添加到docker组:
sudo usermod -aG docker $USER
3、重新创建docker.sock的权限,确保它属于正确的组:
sudo chown root:docker /var/run/docker.sock
sudo chmod 660 /var/run/docker.sock
4、重新启动Docker服务:
sudo systemctl restart docker

重启之后确实没有整个错误了

但是docker服务还是处于Active: activating (start)状态

后面发现firewalld开启着,firewall的底层是使用iptables进行数据过滤,建立在iptables之上,而docker使用iptables来进行网络隔离和管理,这可能会与 Docker 产生冲突。当 firewalld 启动或者重启的时候,将会从 iptables 中移除 DOCKER 的规则,从而影响了 Docker 的正常工作

解决方法:

1、先关闭防火墙
systemctl stop firewalld
2、修改docker配置
#修改docker配置
vim /etc/docker/daemon.json
#添加规则
{
...
"experimental" : true,
"iptables": false
}
#重启docker
systemctl daemon-reload
systemctl restart docker
3、开启或重启防火墙
systemctl restart firewalld
4、再次重启docker,docker服务状态正常
systemctl restart docker

此时docker服务的端口只能本地127.0.0.1访问,再打开firewalld防火墙,且开启NAT转发功能后,docker和外部就可以正常访问了

 

标签:iptables,sock,start,systemctl,Active,docker,Docker
From: https://www.cnblogs.com/whaleX/p/18400249

相关文章

  • [Docker] Run langs on Docker
    Node.jsonContainersSonowwhatifwewantedtorunacontainerthathasNode.jsinit?ThedefaultUbuntucontainerdoesn'thaveNode.jsinstalled.Let'suseadifferentcontainer!dockerrun-itnode:20Theversionhereiswe'reusingi......
  • [Docker] Docker Images with Docker
    Soit'smucheasiertodowhatwedidwithDocker.Runthiscommand:dockerrun--interactive--ttyalpine:3.19.1#or,tobeshorter:dockerrun-italpine:3.19.1Abiteasiertoremember,right?ThiswilldropyouintoaAlpineashshellinsideof......
  • Docker 容器技术:简化 MySQL 主从复制部署与优化
    文章目录前言一、为什么基于Docker搭建?二、利用Docker搭建主从服务器2.1配置Master(主)2.2配置Slave(从)2.3链接Master(主)和Slave(从)2.4测试主从复制三、常见问题3.1什么时候用读写分离?3.2MySQL主从复制原理3.3解决主从复制延迟有几种常见的方法?3.4造成mysql同步......
  • grafana/K6 的 Docker 镜像pull另存为tar的文件
    因国内环境限制,如果直接pull grafana/K6的镜像会失败,可通过以下方式pull配置方式1:临时使用直接使用,直接拿镜像域名拼接上官方镜像名,例如要拉去镜像dockerpullloadimpact/k6,可以用下面写法dockerpulldocker.registry.cyou/loadimpact/k6配置方式2:长久有效修改文件 /......
  • docker file
    dockerfiledockerfile是一个文本格式的配置文件,用户可以使用dockerfile快速的创建和自定义镜像。docker一般由四部分组成:基础镜像信息(父镜像)、维护者信息、镜像操作、容器启动时执行的命令。dockerfile可以通过#标识注释。dockerfile的格式都是采用“指令用户定义的内容”,注意......
  • Ubuntu 安装Docker 运行Nginx
    目录介绍主要功能和特点常用组件安装Docker卸载旧版本Docker(如果有的话)更新apt包索引安装Docker所需的包 添加Docker官方GPG密钥设置Docker仓库安装最新版本Docker验证Docker是否安装成功允许当前用户操作Docker(可选,避免每次使用docker都需要sudo)在Docker......
  • Docker 安装mysql
    1、从docker hub上拉取镜像到本地#dockerpullmysql:5.62.如果是不加版本直接拉取的话,默认的是最新版本 #dockerpullmysql:latest默认拉取最新的版本3.启动:#dockerrun--namemysql-p3306:3306-eMYSQL_ROOT_PASSWORD="设置你的mysql的密码"-dmysql:5.6......
  • 【达梦】Docker安装达梦数据库 dm8
    1.docker启动达梦8镜像命令dockerrun-p5236:5236--namedmdb\-eLD_LIBRARY_PATH=/opt/dmdbms/bin\-ePAGE_SIZE=32\-eEXTENT_SIZE=32\-eLOG_SIZE=2048\-eUNICODE_FLAG=1\-eLENGTH_IN_CHAR=1\-eBLANK_PAD_MODE=1\-v/home/docker/dmdbms/data::/opt......
  • Docker 常用命令
    介绍下Docker常用命令‍帮助启动类命令启动docker:systemctlstartdocker​停止docker:systemctlstopdocker​重启docker:systemctlrestartdocker​查看docker状态:systemctlstatusdocker​开机自启:systemctlenabledocker​查看docker概要信息:dockeri......
  • Kubernetes容器生命周期详解:PostStart和PreStop应用案例解析
    1.容器启动命令:容器启动命令指在容器启动时需要执行的命令。通过设置ENTRYPOINT或CMD,可以自定义容器启动时执行的进程。使用了一个简单的Dockerfile来设置ENTRYPOINT命令:FROMubuntuENTRYPOINT["top","-b"]该命令告诉容器启动时运行top命令,并且以-b选项进行批量模式......