Code前端首页关于Code前端联系我们

配置Docker使用:更改镜像源、更改配置文件、创建软链接(推荐)、更改时区...

terry 2年前 (2023-09-28) 阅读数 73 #未命名
作者:大港测试与开发实践

1.更改图像源

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"
]
}
docker用法整理:更换镜像源、修改配置文件、创建软链接(推荐)、修改时区…docker用法整理:更换镜像源、修改配置文件、创建软链接(推荐)、修改时区…

2。配置完成后重启docker服务

systemctl restart docker.service

2.更改存储目录

docker安装完成后 /var/lib/docker.创建容器后,每个容器的数据库大小上限与安装的包含/var/lib/docker的磁盘大小有关。例如,如下图所示:安装的磁盘大小为50GB,docker容器数据大小上限为50GB。如果有多个容器,这些容器共享50GB容量,并分布在挂载磁盘下的其他文件夹中。 。所以如果你有很多容器在运行,或者你恰好是像gitlab这样需要存储大量数据的容器,那么50G当然会有点低。现在,您可以通过更改 docker 存储库路径来扩展容器容量限制。特别是,最好尽快更改docker仓库的路径,以免日后因磁盘满而导致各种容器运行错误。 docker用法整理:更换镜像源、修改配置文件、创建软链接(推荐)、修改时区…docker用法整理:更换镜像源、修改配置文件、创建软链接(推荐)、修改时区…

更改docker仓库路径有3种方式,分别是:

1。方法一:编辑docker配置文件

编辑docker配置文件

vi /usr/lib/systemd/system/docker.service

使用“--graph”或“-g”参数指定存储位置

ExecStart=/usr/bin/dockerd --graph /home/docker_home

更改后重新加载配置文件并重新启动 docker 服务

// reload配置文件 
systemctl daemon-reload 
 
// 重启docker
systemctl restart docker.service

2。方法二:创建daemon.json文件

Docker1.12以上版本,可以创建或修改daemon.json文件来指定存储位置。 Docker查看版本命令“docker version”

vi /etc/docker/daemon.json

最后添加graph字段指定docker目录

{
        "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"
],
        "graph": "/home/docker_home"
}

更改后需要重新加载配置文件并重启docker服务

systemctl daemon-reload
systemctl restart docker.service

3.方法三:创建软链接(推荐)

前两种方法适合第一次安装docker后没有下载镜像或者创建容器的人。即使存储路径改变,也不会受到影响,因为没有镜像或容器。

软链接创建方式适用于创建容器和生成数据容器的情况。这种方法可以防止现有图像和文件的损坏,以及更改存储路径后数据的丢失。具体步骤如下:

① 检查docker路径

默认情况下,Docker存储位置为:/var/lib/docker。您还可以通过以下命令检查 docker 存储库路径

docker info | grep "Docker Root Dir"

② 停止 docker 服务

systemctl stop docker

③ 移动 docker 文件夹

mv /var/lib/docker /home/docker_home

③ 创建软链接

  • /home/ dockery 目录。是新安装的docker存储目录
  • /var/lib/docker 是软链接目标目录,创建这个目录链接后和原来的docker配置一样还是没变,但实际存储目录是/home /docker_home指向后面
ln -s /home/docker_home /var/lib/docker

④启动docker服务

systemctl start docker

更改完成后,可以通过以下命令查看docker存储目录:

docker info | grep "Root Dir"  
# 修改成功会返回以下内容:
# Docker Root Dir: /home/docker_home

查看/var目录/lib/。 docker目录是软链接,指向/home/docker_home且配置正确。 ? -R命令显示主机所在时区为东八区。查看/etc/localtime,可以看到localtime是一个软链接,指向/usr/share/zoneinfo/Asia/Shanghai

[root@test_host home]# date -R
Thu, 08 Sep 2022 11:05:37 +0800
[root@test_host home]# ls -l /etc/localtime
lrwxrwxrwx. 1 root root 35 8月  29 17:17 /etc/localtime -> ../usr/share/zoneinfo/Asia/Shanghai

② 将本地时区复制到容器的加载中

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 下已经存在从主机复制过来的本地时间文件。时区为东八区,已更正。docker用法整理:更换镜像源、修改配置文件、创建软链接(推荐)、修改时区…docker用法整理:更换镜像源、修改配置文件、创建软链接(推荐)、修改时区…

4。复制文件

主要使用“docker cp”命令

1。从主机复制到容器

docker cp主机文件路径名:目录,例如:

docker cp redis_log mysql:/home

2。从容器复制到主机

docker cp 容器名称:文件路径托管目录,例如:

docker cp mysql:/home/mayfly-go.sql /home/

5.常见故障排除

1.容器报无IPv4网络错误

运行容器时出现错误

如果容器运行时直接报此错误,解决办法:
① 安装♿机器并重启再次网络和docker服务

systemctl restart network
systemctl restart docker

创建容器时出现错误

“警告:IPv4转发不起作用。网络宕机了。”docker用法整理:更换镜像源、修改配置文件、创建软链接(推荐)、修改时区…docker用法整理:更换镜像源、修改配置文件、创建软链接(推荐)、修改时区…

如果运行镜像和创建容器的时候报这个错误,直接重启docker服务即可:

systemctl restart docker

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门