博客
关于我
centos下docker安装以及springboot远程发布docker
阅读量:286 次
发布时间:2019-03-01

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

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开启的远程访问端口

com.spotify
docker-maven-plugin
1.2.2
swaggertest-service
src/main/resources/docker
http://192.168.2.200:2375
/
${project.build.directory}
${project.build.finalName}.jar

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

(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")]

转载地址:http://bdwl.baihongyu.com/

你可能感兴趣的文章
NN&DL4.7 Parameters vs Hyperparameters
查看>>
NN&DL4.8 What does this have to do with the brain?
查看>>
nnU-Net 终极指南
查看>>
No 'Access-Control-Allow-Origin' header is present on the requested resource.
查看>>
No 'Access-Control-Allow-Origin' header is present on the requested resource.
查看>>
NO 157 去掉禅道访问地址中的zentao
查看>>
no available service ‘default‘ found, please make sure registry config corre seata
查看>>
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
查看>>
no connection could be made because the target machine actively refused it.问题解决
查看>>
No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
查看>>
No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
查看>>
No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
查看>>
No mapping found for HTTP request with URI [/...] in DispatcherServlet with name ...的解决方法
查看>>
No mapping found for HTTP request with URI [/logout.do] in DispatcherServlet with name 'springmvc'
查看>>
No module named 'crispy_forms'等使用pycharm开发
查看>>
No module named 'pandads'
查看>>
No module named cv2
查看>>
No module named tensorboard.main在安装tensorboardX的时候遇到的问题
查看>>
No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
查看>>
No new migrations found. Your system is up-to-date.
查看>>