centos下docker安装以及springboot远程发布docker
发布日期:2021-05-04 21:00:06 浏览次数:22 分类:原创文章

本文共 2847 字,大约阅读时间需要 9 分钟。

centos下docker安装以及springboot远程发布docker

1.CentOS7.0下JDK1.8的安装

(1)到Oracle官网下载好 jdk-8u291-linux-i586.tar.gz备用
(2)卸载系统自带的java

java -versionrpm -qa | grep javayum -y remove  [上面查出来的内容,多个用空格分隔]

(3)安装jdk

mkdir /usr/javacd /usr/javatar -zxvf jdk-8u291-linux-i586.tar.gz

(4)配置环境变量

vim /etc/profile

添加下面内容

export JAVA_HOME=/usr/java/jdk1.8.0_291export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

使环境变量生效

source  /etc/profile

测试

java -version

2.Docker的安装

(1) 查看内核版本(Docker需要64位版本,同时内核版本在3.10以上,如果版本低于3.10,需要升级内核)

uname -r

在这里插入图片描述

(2) 更新yum包:

yum update -y

(3) 添加阿里云yum仓库:

cd /etc/yum.repos.d/wget "http://mirrors.aliyun.com/repo/Centos-7.repo"mv CentOS-Base.repo CentOS-Base.repo.bakmv Centos-7.repo CentOS-Base.repo

执行yum源的更新命令

yum clean allyum makecacheyum update

(4) 安装Docker

yum install -y docker-ce

(5) 启动Docker
启动,查看信息

systemctl start dockerdocker info

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H5LW4OhZ-1619537409080)(imgclip_1.png "imgclip_1.png")]

后续可以设置开机启动项

systemctl enable docker

(6)配置docker远程访问
执行命令编辑文件

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 -H unix:///var/run/docker.sock

重启服务

 service docker restart

如果提示文件需要reload就执行

systemctl daemon-reload

在这里插入图片描述

远程访问测试

http://192.168.2.200:2375/version

在这里插入图片描述

3.Docker使用Maven插件构建并上传镜像

(1)新建Dockerfile文件

在项目的/src/main下新增文件夹docker,并在文件夹下创建Dockerfile文件,文件内容如下

# 基于哪个镜像FROM java:8# 将本地文件夹挂载到当前容器VOLUME /tmp# 拷贝文件到容器,swaggertest-0.0.1-SNAPSHOT.jar这里是maven打包后的名字ADD swaggertest-0.0.1-SNAPSHOT.jar swaggertest.jarRUN bash -c 'touch /swaggertest.jar'# 配置容器启动后执行的命令ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/swaggertest.jar"]EXPOSE 8080

(2)修改pom.xml文件增加如下plugin
imageName:镜像名称
dockerDirectory:Dockerfile文件所在目录
dockerHost:docker所在宿主机ip
2375为docker开启的远程访问端口

<plugin>                <!-- https://mvnrepository.com/artifact/com.spotify/docker-maven-plugin -->                    <groupId>com.spotify</groupId>                    <artifactId>docker-maven-plugin</artifactId>                    <version>1.2.2</version>                <configuration>                    <imageName>swaggertest-service</imageName>                    <dockerDirectory>src/main/resources/docker</dockerDirectory>                    <dockerHost>http://192.168.2.200:2375</dockerHost>                    <resources>                        <resource>                            <targetPath>/</targetPath>                            <directory>${project.build.directory}</directory>                            <include>${project.build.finalName}.jar</include>                        </resource>                    </resources>                </configuration>            </plugin>

每一个微服务项目都要进行配置。

(3)构建镜像并上传至docker
使用maven运行如下命令

mvn clean package docker:build -DskipTests

上传成功后,在服务器输入

docker images

可以看到新建的的docker镜像啦。
在这里插入图片描述

启动当前镜像

docker run -p 8080:8080 swaggertest-service:latest

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5AeaDxYA-1619537409091)(imgclip_6.png "imgclip_6.png")]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PBM9nq3f-1619537409091)(imgclip_7.png "imgclip_7.png")]

上一篇:Redis 处理Spring Boot项目Session 共享问题
下一篇:Flink版本WC

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2025年04月09日 01时09分14秒