欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Docker新手教程(详细教程)

程序员文章站 2024-03-24 16:28:22
...

目录

首先

服务器上的配置(以阿里云服务器为例):

1.服务器设置

2.设置规则

3.配置宝塔

4.安装docker并配置阿里仓库(可理解为maven仓库类似)

5.IDEA安装docker(推荐新开一个spring快速搭建项目)


首先

准备工具:IDEA,xshell,服务器(宝塔linux)

docker:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

可以理解为docker就是一台电脑,而且在环境特别多的时候很方便,它可以把你的项目、数据库、nginx、redis、mq等用镜像pull好,就可以直接使用。其实docker不仅这些,我也是学会一点皮毛。上正题。。。

服务器上的配置(以阿里云服务器为例):

1.服务器设置

在刚选择服务器的时候选择宝塔:如下图 ↓(选中之后重置)

重置之前记得看下服务器上是否有重要的项目或文件记得备份!!!没有则直接重置,需要你的手机验证然后等待

Docker新手教程(详细教程)

2.设置规则

找到【安全】→【防火墙】→添加规则(如图为准)这里设置的范围是1-50000,就如果没有什么其他的需求就索性全开

Docker新手教程(详细教程)

3.配置宝塔

(这个工具贼TM方便)一样还是在这个页面找到【应用详情】有个地址可以点击,click跳转,然后密码账号该页面有具体,如果不行,方案二就是到你弹出的那个页面有个忘记密码有详情: cd /www/server/panel && python tools.py panel testpasswd 把这个在xshell打上命令红色的是你要设置的密码需求手动更改。这里需要xshell工具,连接服务器xshell左上角有个新建,输入服务器地址,然后输入用户名和密码(都在服务器的远程连接去设置好),打上命令之后出来的是用户名,然后就可以登录了。登录进来之后在安全哪里和阿里服务器设置防火墙一样设置1-50000

Docker新手教程(详细教程)

4.安装docker并配置阿里仓库(可理解为maven仓库类似)

然后返回xshell工具,打上命令 yum install docker ,这个yum它封装了许多东西,有兴趣的可以去查查;然后看着它跑,然后会要你输入“y”继续,然后等待,然后就会自动跳到你的根目录,没有Error就成功了。

先备份docker配置:cp /usr/lib/systemd/system/docker.service /usr/lib/systemd/system/docker.service_bak

vi /usr/lib/systemd/system/docker.service进入文件按i编辑,在 ExecStart=/usr/bin/dockerd-current  后 增加 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock  增加后如下,保存并退出 (保存:按下ESC  然后 “:”在打wq ,不保存就是 q! )重新启动服务

 sudo systemctl daemon-reload 回车再 systemctl restart docker

在到阿里服务器页面选择镜像加速器,看清你选择的是那个,我服务器是centos的,复制蓝色框里面的所有粘贴到xshell上面,等它跳到根目录再进行一边操作,我这边不知道什么原因没有设置好阿里仓库,然后就会一直报错,报不能把仓库给pull下来

xshell的复制是:ctrl+Insert     粘贴是:shift+Insert

Docker新手教程(详细教程)

5.IDEA安装docker(推荐新开一个spring快速搭建项目)

创建一个新的项目直接spring Initializr 然后一直下一步就行,不要什么其他的,可以根据自己喜好添加。

ctrl+alt+s快捷打开settings  安装好docker插件,

Docker新手教程(详细教程)

之后在settings最左边的搜索栏docker找到,点击加号添加配置好服务器地址,端口一样2375.底下出现此状态对了,如果不是就去xshell上面重启下docker:systemctl restart docker

Docker新手教程(详细教程)

根据我的目录建立文件,其中jar包在工具最右边的maven那里项目下面的【Lifecycle】下级的【package】双击它就会自动打成jar包,然后将底下的jar包和Dockerfile放到一起(打包之前打项目的pom文件改掉)有红色报错是IDEA的安全级别太高意思是还有更好的方式去实现它,不用管。

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.4.2</version>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>

            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
                    <dockerHost>http://101.132.194.58:2375</dockerHost>
                    <dockerDirectory>docker</dockerDirectory>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>

        </plugins>
    </build>

Docker新手教程(详细教程)

编辑Dockerfile文件:

这里我的jar包全部改成你那里的jar包名,端口的9191是和下面对应的。

FROM frolvlad/alpine-oraclejdk8
#指定维护者信息
MAINTAINER cxh
VOLUME /tmp
ADD dockertest-0.0.1-SNAPSHOT.jar dockertest-0.0.1-SNAPSHOT.jar
RUN sh -c 'touch /dockertest-0.0.1-SNAPSHOT.jar'
ENV JAVA_OPTS=""
EXPOSE 9191
#指定执行启动spring boot小项目     ENTRYPOINT 为容器启动后执行的命令
ENTRYPOINT ["java","-jar","/dockertest-0.0.1-SNAPSHOT.jar"]

Edit Configurations编辑添加找到docker(选择Doekerfile)编辑如下:

这里images tag 镜像名;container name 容器名;bind ports 需要暴露的端口,需跟dockerfile 中的 EXPOSE 9191 保持一致

Docker新手教程(详细教程)

上面弄完之后右击docker文件夹下的Dockerfile文件run运行,成功之后会多出一些东西来,如果是报什么pull....io什么的就是没有成功换成阿里的仓库,然后继续上面如何换仓库的操作再来两下。还有就是你可以去xshell上打上命令docker images

Docker新手教程(详细教程)

成功启动它会打印类似springboot一样的信息,然后就可以通过服务器的地址直接访问你项目上的requestMapping

例如:192.168.1.100:9191/docker 你可以直接改成 你的服务器地址:9191/docker

                                                                         以上亲身体验了一遍,望能助你一二 如有不足多多指教

相关标签: java 新手教程