【docker 使用技巧】
一、更换镜像源
1.配置文件路径:/etc/docker/daemon.json,若不存在则新建此文件
{ "registry-mirrors":[ "http://registry.docker-cn.com", "http://docker.mirrors.ustc.edu.cn", "http://hub-mirror.c.163.com", "http://cr.console.aliyun.com/", "https://8wb4g36l.mirror.aliyuncs.com"] }
2.配置完成后重启docker服务
systemctl restart docker.service
二、修改时区
1.创建容器时设置时区
创建时增加映射使用主机时区
-v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime
2.创建容器后修改时区
① 查看宿主机时区
通过date -R命令可以看出,宿主机的时区为东八区,查看/etc/localtime,可以看出localtime实际上是一个软链接,背后指向的是/usr/share/zoneinfo/Asia/Shanghai
[root@test_host home]# date -RThu, 08 Sep 202211:05:37 +0800[root@test_host home]# ls -l /etc/localtimelrwxrwxrwx. 1 root root 358月 2917:17 /etc/localtime -> ../usr/share/zoneinfo/Asia/Shanghai
② 拷贝本地时区到docker容器内部
docker cp /usr/share/zoneinfo/Asia/Shanghai docker.ui:/etc/localtime
③ 进入容器内部查看时区
docker exec -it docker.ui sh# 进入docker.ui容器ls /etc # 查看/etc下是否存在已经复制的localtime文件date -R# 查看时区
通过下图可以看出,/etc下已经存在了宿主机复制过来的localtime文件,时区为东八区,已经修正。
三、拷贝文件
主要用到"docker cp"命令
1.从宿主机拷贝到容器
docker cp 宿主机文件路径 容器名:目录,例如: docker cp redis_log mysql:/home
2.从容器内拷贝到宿主机
docker cp 容器名:文件路径 宿主机目录,例如: docker cp mysql:/home/mayfly-go.sql /home/
四、常见问题解决
1.容器报错ipv4网络不可用
运行容器时报错
如果是容器运行直接报这个错, 解决方式:
① 在宿主机上执行
echo"net.ipv4.ip_forward=1" >>/usr/lib/sysctl.d/00-system.conf
② 重启network和docker服务
systemctl restart network systemctl restart docker
创建容器时报错
“WARNING: IPv4 forwarding is disabled. Networking will not work.”
如果是运行镜像、创建容器的时候报这个错,则直接重启docker服务:
systemctl restart docker
小结
以上就是docker日常使用小技巧,包括:1.更换镜像源;2.修改容器时区;3.宿主机与容器之间文件拷贝;4.docker运行过程中常见问题解决。当然实际使用过程中可能远远不止这么多。如果你有更实用的方法,欢迎评论区留言。