败给时间
Home
Blog
About
一个懒散的程序猿
Categories
设计模式 (27)
Python (19)
Qt (11)
Algorithm (9)
Mysql (9)
C++ (7)
Qt源码阅读 (6)
编译 (3)
Mongodb (2)
Docker (1)
Hugo (1)
分享 (1)
音视频 (1)
Featured Tags
设计模式 (27)
python (19)
qt (12)
algorithm (9)
c++ (9)
mysql (9)
qt源码阅读 (6)
自定义插件 (6)
centos (2)
mongodb (2)
qt常见问题 (2)
docker (1)
d指针 (1)
ffmpeg (1)
hugo (1)
qt实战 (1)
shell (1)
ui设计 (1)
二进制兼容性 (1)
分享 (1)
Blogs
努力!奋斗!
««
«
1
2
3
…
10
11
12
»
»»
Jan 1, 0001
......
Jan 1, 0001
......
Jan 1, 0001
常见疑难杂症 常见疑难杂症 port is already allocated 容器内获取系统时间异常 Docker 默认网段(172.17.0.0) 与主机网段冲突 port is already allocated docker 下的容器停止或者删除之后,而 docker-proxy 依然绑定着端口,没有正常释放 删除所有容器,停止 docker 服务,然后删除 local-kv.db 这个文件,再启动 docker ,最后在重新部署相应容器即可 docker rm $(docker ps -aq) sudo service docker stop sudo rm /var/lib/docker/network/files/local-kv.db sudo service docker start 容器内获取系统时间异常 容器里的服务获取系统时间出现异常,一般情况下都是差 8 小时,所以我们需要在生成 docker 镜像的时候,提前将时区相关信息设置好 首先确定容器依赖的系统版本,进入容器内部,查看系统版本 docker exec -it 容器名 /bin/sh cat /etc/issue 以我 python 的服务为例 Welcome to Alpine Linux 3.11 Kernel \r on an \m (\l) 我这个基础镜像版本是 Alpine Linux 3.11 所以接下来就是找这个版本如何设置时区的解决办法,简单百度谷歌一下 Alpine Linux 时区设置 就能找到解决方案 在 Dockerfile 中添加一下几行 RUN apk add -U tzdata RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN apk del tzdata 安装时区相关的文件,拷贝需要的时区文件到 localtime, 国内则直接选择 Asia/Shanghai,之后为了保证容器的精简和轻量,移除下载的时区文件。 不同版本有不同的解决方法,思路大概就是这样了 之后为了方便,可以将这个更新好时区的容器,当做其他服务的基础镜像包,这样其他人在使用的时候就不用考虑时区的问题了 Docker 默认网段(172.17.0.0) 与主机网段冲突 1、修改 /etc/docker/daemon.json 文件,加入以下代码 { "default-address-pools": [{"base":"172.10.0.0/16","size":24}] } 其中 172.10.0.0/16 是自定义的网段地址 2、删除docker0 ip link delete docker0 3、重新启动docker service stop docker service start docker ......
Jan 1, 0001
......
Jan 1, 0001
......
Jan 1, 0001
......
Jan 1, 0001
......
Jan 1, 0001
......
Jan 1, 0001
......
Jan 1, 0001
......