IDEA的Docker插件实战(Dockerfile篇)

参考链接1 参考链接2

Docker开启远程访问

修改该Docker服务文件

#修改Docker服务文件
vim /lib/systemd/system/docker.service
​
# 通常使用端口2375与守护进程进行非加密通信,使用端口2376与守护进程进行加密通信。
#修改ExecStart行,添加如下配置
-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
​
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
​
# 注释最初配置
# ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
# 开启远程访问
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
​
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always

加载配置与重启

重新加载配置文件

systemctl daemon-reload
重启服务
systemctl restart docker.service

验证是否开启成功

查看端口是否开启

netstat -antp | grep dockerd  #如果找不到netstat命令,使用yum install net-tools安装
​
[root@administrator ~]# netstat -antp | grep dockerd 
tcp6       0      0 :::2375                 :::*                    LISTEN      4514/dockerd  

直接curl看是否生效,测试通过localhost是否能使用Docker Engine API

curl http://127.0.0.1:2375/info
​
curl http://localhost:2375/version

访问:http://ip:2375/version测试远程能否通过主机IP使用Docker Engine API

在这里插入图片描述

从File->Settings->Build,Execution,Deployment->Docker打开配置界面,配置docker,连接到远程docker服务

IDEA的Docker插件实战(Dockerfile篇)_第1张图片

编写Dockerfile文件

在pom.xml文件所在同级目录,创建名为Dockerfile的文件

# 基础镜像
FROM openjdk:8
​
#作者信息   可以不写!!!
MAINTAINER author_information
​
#申明一个环境变量   可以不写!!!
ENV HOME_PATH /home
​
#指定容器启动时,执行命令会在该目录下执行   可以不写!!!
WORKDIR $HOME_PATH
​
#应用构建成功后的jar复制到容器指定目录下   上面都不写的就把$HOME_PATH删除!!!! food_environment_team必须和下面的Image tag生成的镜像名称一样  -0.0.1这个是版本号可以不一样 -SNAPSHOT.jar是固定写法
ADD target/food_environment_team-0.0.1-SNAPSHOT.jar $HOME_PATH/app.jar
​
#指定容器内部端口   可以不写,不写默认是项目中pom文件的端口
EXPOSE 8888
​
#容器启动时执行的命令
ENTRYPOINT ["java","-jar","app.jar"]

创建Dockerfile配置

在这里插入图片描述

Name: 配置名称(随意)
​
Server: 选择Docker远程连接配置
​
Build
    
    Dockerfile:选择编写的Dockerfile文件
    
    Image tag:设置生成镜像的名称(可以用    镜像名称:0.0.1   这样版本号就是0.0.1)
    
Run:容器运行相关的额外配置
    
    Container name :设置容器名称
    
    
    Bind ports: 端口绑定   8095:8092(:前面是宿主机端口,也就是虚拟机的端口,就是postman要访问这个端口(可以随便设置),:后面是容器内端口,也就是项目中yml的port。可以在dockerfile另外指定)
    Bind mounts: 挂载
​
Before launch: 配置运行前进行的额外操作
​
    clean package  -DskipTests :重新编译构建:清理、打包、跳过测试

在这里插入图片描述

执行Dockerfile配置

在这里插入图片描述

运行结果如下所示,项目构建成功后,在Docker上部署镜像成功,然后运行容器成功:

在这里插入图片描述

登录远程Docker,先后执行docker image和docker ps命令查看镜像和容器情况如下,可见一切正常:

IDEA的Docker插件实战(Dockerfile篇)_第2张图片

IDEA的Docker插件实战(Dockerfile篇)_第3张图片IDEA的Docker插件实战(Dockerfile篇)_第4张图片

docker命令

docker打包镜像,二选一即可

docker save 镜像名字:版本号 > 要打包的名字.tar docker save -o 要打包名字.tar 镜像名字:版本号

查看自己服务器中docker 镜像列表

docker images

查看容器

docker ps

Docker 将用户加入docker组 (就不用sudo)

全部跟着打就好

IDEA的Docker插件实战(Dockerfile篇)_第5张图片

你可能感兴趣的:(docker,intellij-idea,java)