docker 问题
阿里云镜像加速器设置:
[root@iZf8z8mvkh90g1k6xpnkleZ ~]# cat /etc/docker/daemon.json { "registry-mirrors": [ "https://xxxxxx.mirror.aliyuncs.com", "https://mirror.ccs.tencentyun.com", "https://mirror.baidubce.com" ] }
Docker centos7 springboot 启动 console 日志中文乱问题 - 20240613
解决方案:在启动命令中添加 -Dfile.encoding=UTF-8
#!/bin/bash
nohup java -Dfile.encoding=UTF-8 -Djava.security.egd=file:/dev/./urandom -Duser.timezone=Asia/Shanghai --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED -jar @MODULE.jar --spring.profiles.active=@ENV >> /blade/log/@MODULE-nohup.log 2>&1
- linux
CentoOS-7.2
- docker 启动异常一
Jan 07 00:49:42 localhost.jarvis dockerd-current[53365]: time="2021-01-07T00:49:42.965686913+08:00" level=warning msg="could not change group /var/run/docker.sock to docker: group docker not found" Jan 07 00:49:42 localhost.jarvis dockerd-current[53365]: time="2021-01-07T00:49:42.969009357+08:00" level=info msg="libcontainerd: new containerd process, pid: 53371" Jan 07 00:49:44 localhost.jarvis dockerd-current[53365]: Error starting daemon: SELinux is not supported with the overlay2 graph driver on this kernel. Either boot into a newer kernel
or disable selinux in docker (--selinux-enabled=false) Jan 07 00:49:44 localhost.jarvis systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE Jan 07 00:49:44 localhost.jarvis systemd[1]: Failed to start Docker Application Container Engine.
解决办法:vim /etc/sysconfig/docker
配置: --selinux-enabled=false
————————————————
- docker 启动异常二
Jan 07 00:47:29 localhost.jarvis dockerd-current[53283]: unable to configure the Docker daemon with file /etc/docker/daemon.json: EOF Jan 07 00:47:29 localhost.jarvis systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE Jan 07 00:47:29 localhost.jarvis systemd[1]: Failed to start Docker Application Container Engine. -- Subject: Unit docker.service has failed
解决办法:vim /etc/docker/daemon.json 配置为空:
{
}
————————————————
- docker 启动异常三
CentOS7的docker下载下来启动失败问题(Job for docker.service failed because the control process exited with)的解决方案
Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
如果忽略错误进行操作,就会出现:(因为 docker 就没有启动成功)
解决方案:
1. vim /etc/sysconfig/docker-storage
将配置文件修改为:
DOCKER_STORAGE_OPTIONS="--selinux-enabled --log-driver=journald --signature-verification=false"
2. vim /etc/docker/daemon.json
写入指定参数:
{ "storage-driver": "devicemapper" }
3. 然后重启docker服务
systemctl restart docker
没有出现错误信息,说明问题已经解决!
————————————————
- docker 启动异常四
在安装完docker以后,当你使用 docker run 一个容器时;报错:
eg:docker run hello-world 报错信息: container_linux.go:235: starting container process caused “process_linux.go:258:
applying cgroup configuration for process caused “Cannot set property TasksAccounting, or unknown property.”” /usr/bin/docker-current: Error response from daemon: oci runtime error:
container_linux.go:235: starting container process caused "process_linux.go:258: applying cgroup configuration for process caused "Cannot set property TasksAccounting, or unknown prop
解决办法: 更新一下 yum ; yum update 即可 !
原文链接:https://blog.csdn.net/ljlfather/article/details/105462376
————————————————
- 在关闭并放置centos 的防火墙重启之后,启动 docker 容器发现开始报错:
[root@localhost ~]# docker run -d -p 8080:8080 --name=tomcat01 0ce438e89a29
77b06f47d5038b07285f7ebfe346777ad5fd210a0ed6d76ccdccd42a98719507
/usr/bin/docker-current: Error response from daemon: driver failed programming external connectivity on endpoint tomcat01 (4e18f6231a15b0f0e7c3b1647347154ed33494de4653a42c1b0c3f67afaf88e1): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8080 -j DNAT --to-destination 172.17.0.3:8080 ! -i docker0: iptables: No chain/target/match by that name.
(exit status 1)).
但是 实际上并没有冲突的容器存在。
实际原因:
docker服务启动时定义的自定义链DOCKER由于某种原因被清掉
重启docker服务及可重新生成自定义链DOCKER
解决方法:
启动 systemctl start docker 守护进程重启 sudo systemctl daemon-reload 重启docker服务 systemctl restart docker 重启docker服务 service docker restart 关闭docker service docker stop 关闭docker systemctl stop docker
————————————————
- attach进入docker容器就是日志,无法执行命令
解决办法:
[root@localhost ~]# docker exec -it d3685af453b7 /bin/bash
root@d3685af453b7:/usr/local/tomcat#
————————————————
- tomcat 启动后无法访问问题:
[root@localhost ~]# docker run -d -p 8081:8081 d000265e3263 # 错误,只能是 8080 [root@localhost ~]# docker run -d -p 8081:8080 d000265e3263 # 正确
————————————————
-
docker容器内提示Permission denied,这个权限问题
[root@bcaf0cbe1a1a dataVolumeContainer]# touch test02.txt touch: cannot touch 'test02.txt': Permission denied
解决办法:
1.在运行容器的时候,给容器加特权,及加上 --privileged=true 参数:
docker run -i -t -v /soft:/soft --privileged=true 686672a1d0cc /bin/bash
2.临时关闭selinux:
setenforce 0
原文链接:https://blog.csdn.net/weixin_35702498/article/details/113894607
————————————————
- docker容器启动提示:Apr 23 13:22:32 k8snode01 dockerd-current[8771]: Error starting daemon: error initializing graphdriver: /var/lib/docker contains several valid graphdrivers: devicemapper, overlay2; Please cleanup or explicitly choose...er (-s <DRIVER>)
docker版本:1.13.1
解决办法:
到 /var/lib/docker 目录下查看,有devicemapper的目录和overlay2的目录。删除devicemapper
————————————————
- docker访问外部数据库
- 场景:xxl-job-admin:2.2.0 的 docker 镜像 192.168.181.150 需要访问外部数据库 192.168.181.147
虚拟机 192.168.181.147:数据库
虚拟机 192.168.181.150:docker
springboot 项目:xxl-job-admin:2.2.0
- 解决办法:带上参数 --net=host
docker run -d --net=host -p 8080:8080 xxl-job-admin:2.2.0 -t
————————————————