4、为什么使用docker?之Docker建立远程连接

在开发的时候,我们进程需要用到docker。但很多时候我们用的是window作为开发平台,虽然Docker也有window版本的。但window的DockerToolbox是一款不是很成熟的产品,有很多小伙伴想安装docker都会安装失败,但开发中我们又想用那docker。那么怎么办呢?
其实我们可以使用远程连接来解决。

首先我们要明白DockerToolbox的原理其实也是安装在Oracle VM Virtualbox虚拟机上的。因为我安装Oracle VM Virtualbox一直跑不起docker,所以后面我就选择了使用VMware Workstation Pro安装。当然如果你能够使用DockerToolbox安装成功,那么很好,直接用就行。后面的你也不需要去了解了。

安装方式一,在ubuntu系统上安装docker(推荐)

  1. VMware Workstation Pro 虚拟机
  2. boot2docker.iso 镜像
  3. ubuntu-18.04-server-amd64.iso

安装步骤我就不仔细说了。步骤是,先安装VMware Workstation Pro 虚拟机,然后在VMware Workstation Pro 虚拟机上安装ubuntu系统,最后在ubuntu系统上安装Docker。

ubuntu系统上安装Docker可以参考我的文章。【为什么使用docker?之一docker安装

Docker 默认是不支持外部访问,需要支持外部访问需要我们配置,对外暴露端口。

生产环境一把不会对外暴露,这里对暴露只是为了加速开发需要

1、 修改Docker服务启动配置文件
vim /etc/default/docker

文件打开后,添加如下配置。

DOCKER_OPTS="-H unix:///var/run/docker.sock -H 0.0.0.0:2375"

如图所示:
这里写图片描述

有时候配置了上面的,重启docker守护线程还是没有生效,所以我们需要再给docker.service文件添加配置。

2、配置docker守护线程监控的配置。
vim /lib/systemd/system/docker.service

配置文件打开后,添如下配置:

EnvironmentFile=-/etc/default/docker
ExecStart=/usr/bin/docker daemon -H fd:// $DOCKER_OPTS

这里写图片描述

3、加载配置
systemctl daemon-reload
4、重启docker守护线程
systemctl restart docker
5、查看配置是否生效
ps aux|grep docker

如果看到有我图中红线的部分,标识配置已经生效。表示我们可以远程访问docker了。

这里写图片描述

上面搞等了,我们要需要访问。那么我们需要在开发工具(IDEA)上安装一个插件 Docker integration

插件安装 File > Settings > Plugins 搜Docker integration 即可。如下图

这里写图片描述

安装完成,重启IDEA后。 File > Settings > Build, Execution, Deployment 下 面会多一个Docker的工具。如下图

这里写图片描述

然后点击 + 号创建一个连接,我们因为安装在ubuntu上,同时对外暴露了2375端口,所以我们输入宿主机的ip和我们暴露的端口即可连接了。

连接成功后是这样的,如下图,可以看到我们的镜像文件。
这里写图片描述

这样我就可以利用Docker integration构建镜像,创建仓库,上传镜像等,大大提高了开发效率。更新操作可以参考官方说明:https://www.jetbrains.com/help/idea/docker.html

镜像运行演示

下面我们来演示,运行我们的web:latest镜像。

右击,创建容器
这里写图片描述

输入容器名字
这里写图片描述

容器创建成功,右击就可以启动了。
这里写图片描述

运行效果如图:

这里写图片描述

知识补充:

如果要在打包的时候就生成镜像文件,那么需要在pom.xml中加入如下插件。

            <!--Docker镜像构建插件,如果没装有docker打包会报错,注释即可-->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>${docker.plugin.version}</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>build</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <!--使用远程的docker,如果是本地的就不需要配置-->
                    <dockerHost>http://192.168.234.136:2375</dockerHost>

                    <imageName>${docker.image.prefix}/${project.build.finalName}</imageName>
                    <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>

安装方式二,直接在VMware Workstation Pro上安装 boot2docker.iso(不推荐)

需要准备的插件:

  1. VMware Workstation Pro 虚拟机
  2. boot2docker.iso 镜像

boot2docker.iso 镜像 文件你可以在DockerToolbox解压后找到安装后可以找到,如果你用这种方法能够安装成功,那你后面的也应该不需要花时间去了解。
这里写图片描述

boot2docker.iso 你可以在到:https://github.com/boot2docker/boot2docker/releases 下载。

这文章,主要是给windows上有需要安装docker开发,但又各种安装DockerToolbox失败的,希望对你有所帮助。

猜你喜欢

转载自blog.csdn.net/sumlyl/article/details/80710944