docker本机打镜像
大约 2 分钟
1、安装docker
(1)安装Gcc
yum -y install gcc
yum -y install gcc-c++
(2)卸载旧版本
yum -y remove docker docker-common docker-selinux docker-engine
yum remove
docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
(3)设置stable镜像仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
(4)更新yum软件包索引
yum makecache (centos 8)
yum makecache fast(centos 7)
(5)安装Docker CE
yum -y install docker-ce docker-ce-cli containerd.io
(6)启动docker
启动:
systemctl start docker
设置开机自启动:
systemctl start docker
systemctl enable docker
测试:
docker version
docker run hello-world
docker images
[root@localhost ~]# docker version
Client: Docker Engine - Community
Version: 20.10.7
API version: 1.41
Go version: go1.13.15
Git commit: f0df350
Built: Wed Jun 2 11:56:24 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.7
API version: 1.41 (minimum version 1.12)
Go version: go1.13.15
Git commit: b0f5bc3
Built: Wed Jun 2 11:54:48 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.6
GitCommit: d71fcd7d8303cbf684402823e425e9dd2e99285d
runc:
Version: 1.0.0-rc95
GitCommit: b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7
docker-init:
Version: 0.19.0
GitCommit: de40ad0
2、开启2375端口,提供外部访问docker
在docker配置文件
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
之后加上
-H tcp://0.0.0.0:2375
具体操作为
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375
systemctl restart docker
然后linux防火墙开启2375端口
3、使用idea连接docker服务
idea安装docker服务
idea -----> setting -----> Plugins -----> Marketplace -----> docker install

idea -----> setting -----> Build, Execution, Deployment - Docker -----> TCP socket -----> Engine API URL 键入 tcp://192.168.2.195:2375

4、配置
pom和Dockerfile在同一目录下:
pom中添加:
<!--docke maven编译插件-->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.4.9</version>
<configuration>
<repository>${docker.image.prefix}/${project.artifactId}</repository>
<buildArgs>
<JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
</buildArgs>
</configuration>
</plugin>
Dockerfile:
# docker中的镜像
FROM openjdk:8-jdk-alpine
MAINTAINER zhengtianqi <270490096@qq.com>
VOLUME /tmp
ADD target/springcloud-zheng.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","app.jar"]
执行的命令:
windows进行打包并上传镜像:
DOCKER_HOST=tcp://92.168.2.195:2375 mvn clean package dockerfile:build
linux查看镜像并运行:
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
springboot-zheng/springboot-zheng latest 825d7f3967cf 3 hours ago 221MB
openjdk 8-jdk-alpine a3562aa0b991 2 years ago 105MB
[root@localhost ~]# docker run -d -p 8080:8080 -i 825d7f3967cf