docker简易环境配置

docker环境配置

下载docker desktop 并且按照引导路径安装,很常规

然后由于在国内没法直接使用官方的镜像站,有两种解决方法:

1.使用国内的代理网站,例如阿里,清华,腾讯等,但是不推荐,感觉非常不稳定。

2.重点来了: 直接使用代理,想必各种佬们,都有常用的梯子,例如clash,v2ray等,

这里以clash为例子,如何使用clash代理docker的流量?

简单说明一下clash常规代理策略:

正常打开clash的system proxy按钮,代理的是浏览器的流量,无法代理到docker,git等应用的流量,所以需要进行单独设置,clash默认在本地的7890和7891端口开放了流量的通道,所以想要使用clash代理就要根据协议设置流量到对应的端口,默认情况,7890(http或https),7891(socket5)。

在哪设置?docker desktop提供了图形化设置界面,如下

image.png

设置后重启docker即可,然后记得打开clash开关,允许clash代理其他任意ip的流量

image.png

2.测试:

这里采用一个最简单的需求,pull一个mysql8.0下来,终端打开输入一下命令

docker pull mysql:8.0

然后会看到如下输出:

37ec48ba0045: Extracting [=======================>                           ]  57.38MB/123.9MB

则表示成功,采用一下命令运行此容器:

docker run -d \\
  --name my-mysql \\
  -e MYSQL_ROOT_PASSWORD=123456 \\
  -p 3306:3306 \\
  mysql:8.0

这是你就会发现在你的电脑上会出现一个mysql服务,并且可以使用。

为什么docker desktop看不到当前已经运行的容器?

由于采用终端使用docker,所以和desktop的上下文context不一样,终端默认采用

NAME                DESCRIPTION                               DOCKER ENDPOINT                  ORCHESTRATOR
default *           Current DOCKER_HOST based configuration   unix:///var/run/docker.sock      swarm

而desktop采用

desktop-linux       Docker Desktop                            unix:///Users/xxx/.docker/...    moby

推荐修改终端context和desktop的一致

直接终端键入:

docker context use desktop-linux

然后重启desktop即可。

结尾:

docker技术必将成为然后的主流:

想了解docker是啥,并且详细学习可以访问

https://www.runoob.com/docker/docker-tutorial.html

此教程较简单浅显易懂,但是又够日常的访问,够满足普通的it从业者

如果是专业运维,或者image开发的

https://yeasy.gitbook.io/docker_practice/image

更好。

如果有疑问请邮件至

huangyixin447@gmail.com

或直接留言。