【Docker入门使用】


一、docker简介

摘:docker是一个开源的应用容器引擎,让开发者可以打包应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,可以实现虚拟化,容器是完全使用沙箱机制,相互之间是隔离。

下图是docker直接在linux或windows上的运行环境:
在这里插入图片描述
从上图直观的看出docker就是个提供软件环境虚拟化的软件,可以构造多个容器来隔离多个应用之间的运行环境。


二、为什么使用docker

  • docker 容器的启动可以在秒级实现,这相比传统的虚拟机方式要快得多,大大的节约了开发,测试,部署的时间。
  • docker 对系统资源的利用率很高,一台主机上可以同时运行数千个 docker 容器。
  • 容器除了运行其中应用外,基本不消耗额外的系统资源,使得应用的性能很高。
  • 传统虚拟机方式运行10个不同的应用就要起10个虚拟机,而docker 只需要启动10个隔离的应用即可。

三、linux中简单使用docker

卸载遗留docker旧版本

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

rm -rf /etc/systemd/system/docker.service.d
rm -rf /var/lib/docker
rm -rf /var/run/docker

安装及启动

  • Docker要求CentOS系统的内核版本高于 3.10 ,通过uname -r命令查看你当前的内核版本是否支持安账docker。
  • 更新yum包:sudo yum update
  • 安装需要的软件包,yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的:sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  • 设置yum源:sudo yum-config-manager --add-repo 。https://download.docker.com/linux/centos/docker-ce.repo
  • 可以查看所有仓库中所有docker版本,并选择特定版本安装:yum list docker-ce --showduplicates | sort -r
  • 安装docker:sudo yum install docker-ce-<VERSION_STRING>
  • 启动、设置开启开机启动:sudo systemctl start dockersudo systemctl enable docker
  • 验证安装是否成功(有client和service两部分表示docker安装启动都成功了):docker version在这里插入图片描述
  • 查看docker启动状态:systemctl status docker在这里插入图片描述

四、IDEA中使用docker

前言

若直接在物理机上操作docker,就得必须采用命令的形势来实现,然而在IDEA中可以直接使用docker插件来对docker进行操作,简化了操作过程。

开启docker远程访问

  1. 默认的dokcer不支持远程访问,需要修改配置文件:vim /lib/systemd/system/docker.service,修改内容如下:在这里插入图片描述
  2. 重新加载配置文件:systemctl daemon-reload
  3. 重启服务:systemctl restart docker.service
  4. 查看配置的端口号(2375)是否开启:netstat -nlp | grep 2375,如下则成功在这里插入图片描述
  5. 若没有,开启防火墙重启后再次查看:firewall-cmd --zone=public --add-port=2375/tcp --permanentfirewall-cmd --reload

使用IDEA连接docker

  • 下载docker插件在这里插入图片描述

  • 新建连接在这里插入图片描述

  • 连接之后可以直接使用服务器上的docker了,如拉取镜像、删除镜像、创建容器、运行容器、删除容器等操作同意在如下截图中,再次不一一列举展示在这里插入图片描述

快速部署应用

docker传统部署应用的方式是需要自己编写Dockerfile文件以及其他步骤,比较麻烦,而使用IDEA的docker插件来部署就很简单方便。

  1. 在pom文件中配置docker的构建插件。
    <!--使用docker-maven-plugin插件-->
    <plugin>
        <groupId>com.spotify</groupId>
        <artifactId>docker-maven-plugin</artifactId>
        <!--将插件绑定在某个phase执行-->
        <executions>
            <execution>
                <id>build-image</id>
                <!--用户只需执行mvn package ,就会自动执行mvn docker:build-->
                <phase>package</phase>
                <goals>
                    <goal>build</goal>
                </goals>
            </execution>
        </executions>
    
        <configuration>
            <!--指定生成的镜像名-->
            <imageName>${project.artifactId}:${project.version}</imageName>
            <!--指定标签 这里指定的是镜像的版本,我们默认版本是latest-->
            <imageTags>
                <imageTag>latest</imageTag>
            </imageTags>
            <!--指定基础镜像jdk1.8-->
            <baseImage>java</baseImage>
            <!--切换到home目录-->
            <workdir>/home</workdir>
            <!--查看我们的java版本-->
            <cmd>["java", "-version"]</cmd>
            <!--${project.build.finalName}.jar是打包后生成的jar包的名字-->
            <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
            <!--指定服务器 docker 地址-->
            <dockerHost>http://127.0.0.1:2375</dockerHost>
            <!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
            <resources>
                <resource>
                    <targetPath>/</targetPath>
                    <!--jar 包所在的路径  此处配置的 即对应 target 目录-->
                    <directory>${project.build.directory}</directory>
                    <!--用于指定需要复制的文件 需要包含的 jar包 ,这里对应的是 Dockerfile中添加的文件名 -->
                    <include>${project.build.finalName}.jar</include>
                </resource>
            </resources>
        </configuration>
    </plugin>
    
  2. 项目重新编译打包在这里插入图片描述
  3. 编译完之后可以看到镜像下面多了一个我们的项目镜像在这里插入图片描述
  4. 创建应用镜像的容器在这里插入图片描述
  5. 配置容器启动相应参数在这里插入图片描述
  6. 配置完成点击applyrun即可运行该容器在这里插入图片描述
  7. 测试访问即可在这里插入图片描述

五、结语

综上是笔者在学习docker时总结的使用方法,以及在IDEA中如何使用docker插件,方便快速的构建不同应用环境。若有出入之处,还请各位大佬指出,笔者感激不尽。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值