跳至主要內容

docker本机打镜像

zheng大约 2 分钟CICDdocker

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

image-20210718193618402
image-20210718193618402

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

image-20210718193314796
image-20210718193314796

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
上次编辑于:
贡献者: 郑天祺