1 docker容器时区不是北京时间
1.1 直接修改容器系统时间
$ docker cp /etc/localtime [容器ID]:/etc/localtime
1.1.1 tomcat时间不是北京时间(jre是通过配置文件读取本地时间的:/etc/timezone )
覆盖容器配置信息
$ docker cp /etc/timezone [容器ID]:/etc/timezone
1.2 启动容器是通过-v 将系统文件映射至容器内;
$ docker run --name tomcat53231 -p 53231:8080 -v $PWD/webapps:/usr/local/tomcat/webapps -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone -d tomcat
1.3 进入容器内修改对应文件信息:
1.3.1 #docker exec -it 容器ID /bin/bash
1.3.2 修改对应文件信息;
2 修改 iptable配置信息导致docker容易运行异常(iptables:No chain/target/mathc by the name);
docker 服务启动的时候,docker服务会向iptables注册一个链,以便让docker服务管理的containner所暴露的端口之间进行通信
;这也解释了docker中配置的端口可以不用通过iptables配置就可以被外网访问;这个时候如果手动修改iptable则会破坏这个链。
2.1 解决方式:重新启动docker,在新的iptables中重新注册一个链;
$ systemctl start docker// 启动
$ systemctl daemon-reload //守护进程重启
$ systemctl restart docker//重启docker服务
$ service docker restart//重启docker服务
$ service docker stop//关闭docker
$ systemctl stop docke//关闭docker