虚拟机+Docker配置主机代理和常见配置
完整配置流程如下:
- 配置虚拟机使用宿主机代理:
# 设置环境变量(宿主机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.com
- 配置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
- 如果之前配置了镜像源,可以清理 /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 参数。让我们先删除现有容器,然后重新创建:
- 首先删除现有容器(如果正在运行):
docker rm -f redis mysql
- 重新创建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
- 创建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
- 验证
docker inspect -f "{{.Name}}: {{.HostConfig.RestartPolicy.Name}}" redis mysql
在这里插入图片描述