解决宿主机访问docker中的镜像时好时坏的问题(docker使用独立ip访问镜像)

环境:macos  

最近使用docker中的数据库,redis,经常无法访问,有时候隔几天断一次,有时候隔几分钟断一次,使用命令发现docker 镜像都是在正常运行,只有重启docker,在重新start镜像才可以正常访问,排查了很久,原来是因为我开了vpn的缘故,导致localhsot的ip(docker run的时候我直接是 -p 8080:8080)经常被代理出去,可能是vpn的bug吧,所以解决方案就是自己设置一个ip,然后用这个ip访问docker,开始吧

1:为网卡绑定一个固定ip

查看自己的网卡,ifconfig

可以看到有很多网卡,我们就绑定通外网的那个网卡就好了(en0)

 

绑定命令
ifconfig en0 add 192.168.99.10 netmask 255.255.255.0 up

en0 为网卡的标识(en0)

IP设置好了,docker run的时候指定这个ip就行,比如下面:

docker run -p 192.168.99.10 8080:8080  

后面就通过ip+端口,宿主机就可以正常访问了,也一直没挂过,很烦。T.T

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Docker镜像Docker容器的基础,它包含一个完整的文件系统,包括运行一个应用程序所需的所有内容:代码、运行时环境、库、环境变量和配置文件等。当我们在宿主机上执行Docker命令时,可以通过以下步骤来执行Docker镜像: 1. 首先,使用`docker pull`命令从Docker Hub或私有仓库下载所需的Docker镜像。例如,要下载官方的Ubuntu镜像,可以执行以下命令: ``` docker pull ubuntu ``` 2. 下载完成后,可以使用`docker run`命令来创建并运行一个新的Docker容器。例如,要在后台运行一个基于Ubuntu镜像的容器,可以执行以下命令: ``` docker run -d ubuntu ``` 3. 如果需要在容器内执行特定的命令,可以使用`docker exec`命令。例如,要在正在运行的Ubuntu容器内执行一个bash shell,可以执行以下命令: ``` docker exec -it <container_id> bash ``` 其,`<container_id>`是容器的ID或名称。 4. 在容器内执行命令后,可以通过退出容器来停止它。可以使用`docker stop`命令来停止指定的容器。例如,要停止名为"my_container"的容器,可以执行以下命令: ``` docker stop my_container ``` 如果要删除已停止的容器,可以使用`docker rm`命令。例如,要删除名为"my_container"的容器,可以执行以下命令: ``` docker rm my_container ``` 注意:以上命令的`docker`是Docker命令行工具的名称,具体根据你的操作系统和安装方式可能会有所不同。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值