admin 管理员组

文章数量: 1184232

完整配置流程如下:

  1. 配置虚拟机使用宿主机代理:
vi /etc/profile.d/proxy.sh

输入以下内容(假设宿主机IP是192.168.100.1):

# 设置环境变量(宿主机IP为192.168.100.1,代理端口7890)
export http_proxy=http://192.168.100.1:7890
export https_proxy=http://192.168.100.1:7890


# 测试代理是否生效
curl -I google


现在让我们使配置文件生效,执行以下命令:

# 给配置文件添加执行权限
chmod +x /etc/profile.d/proxy.sh

# 立即使配置生效
source /etc/profile.d/proxy.sh

让我们验证代理是否正确配置并生效,执行以下命令:

curl -v https://www.google

这个命令会测试代理连接,如果配置正确,应该能看到成功连接到Google的响应。

  1. 配置Docker守护进程使用代理:
# 创建Docker服务的配置目录
sudo mkdir -p /etc/systemd/system/docker.service.d

# 创建代理配置文件
sudo vi /etc/systemd/system/docker.service.d/http-proxy.conf

# 在配置文件中添加以下内容:
[Service]
Environment="HTTP_PROXY=http://192.168.100.1:7890"
Environment="HTTPS_PROXY=http://192.168.100.1:7890"

# 重新加载配置并重启Docker服务
sudo systemctl daemon-reload
sudo systemctl restart docker

# 测试Docker是否可以正常拉取镜像
docker search redis
  1. 如果之前配置了镜像源,可以清理 /etc/docker/daemon.json:
sudo vi /etc/docker/daemon.json

# 内容修改为:
{
  "ipv6": false
}

# 修改后重启Docker服务
sudo systemctl restart docker

注意事项:

  • 确保宿主机的代理软件已开启

  • 确保代理软件允许局域网访问

  • 确保使用正确的宿主机IP地址

  • 所有修改配置后都需要重启相关服务

验证

  • 输入docker search redis

设置Mysql 、Redis 开机自启

要设置容器随Docker自动启动,我们需要使用 --restart always 参数。让我们先删除现有容器,然后重新创建:

  1. 首先删除现有容器(如果正在运行):
docker rm -f redis mysql
  1. 重新创建MySQL容器(带自动启动参数):
docker run -d \
  --name mysql \
  --restart always \
  -p 3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=1234 \
  -v /root/mysql/data:/var/lib/mysql \
  -v /root/mysql/conf:/etc/mysql/conf.d \
  -v /root/mysql/init:/docker-entrypoint-initdb.d \
  --network hm-net \
  mysql
  1. 创建Redis容器(带自动启动参数):
docker run -d \
  --name redis \
  --restart always \
  -p 6379:6379 \
  -v /home/redis/conf/redis.conf:/etc/redis/redis.conf \
  -v /home/redis/data:/data \
  --network hm-net \
  redis \
  redis-server /etc/redis/redis.conf
  1. 验证
docker inspect -f "{{.Name}}: {{.HostConfig.RestartPolicy.Name}}" redis mysql

在这里插入图片描述

本文标签: 虚拟机 常见 主机 docker