CentOS 7 下安装Docker 基础配置&&spring boot 相关配置

docker基础配置

linux(CentOS7.4)

安装

docker yum install   #安装

启动 Docker 服务

安装完成后,使用下面的命令来启动 docker 服务,并将其设置为开机启动:

(LCTT 译注:此处采用了旧式的 sysv 语法,如采用CentOS 7中支持的新式 systemd 语法,如下:

[root@localhost ~]# service docker start

[root@localhost ~]# chkconfig docker on


[root@localhost ~]# systemctl start docker.service

[root@localhost ~]# systemctl enable docker.service

验证docker 是否安装成功

 docker version 

CentOS 7 下安装Docker 基础配置&&spring boot 相关配置_第1张图片

开启docker远程访问功能(可以开发电脑,远程push 镜像到此服务器)

编辑 /usr/lib/systemd/system/docker.service 文件,

修改 ExecStart 处:

vim /usr/lib/systemd/system/docker.service

ExecStart=/usr/bin/dockerd-current

 修改为

ExecStart=/usr/bin/dockerd-current --registry-mirror=https://registry.docker-cn.com -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

CentOS 7 下安装Docker 基础配置&&spring boot 相关配置_第2张图片

先重启 systemctl 守护进程

 systemctl daemon-reload

再开启 docker 服务 

systemctl restart docker

测试配置是否成功 

curl http://127.0.0.1:2375/info

CentOS 7 下安装Docker 基础配置&&spring boot 相关配置_第3张图片

设置2375端口可以被外部机器正常访问(也可关闭防火墙)

关闭防火墙

systemctl stop firewalld

spring boot 项目配置

添加 maven docker 依赖(注意 :dockerHost配置为你的服务器ip:2375)

    com.spotify

    docker-maven-plugin

    0.4.13

    

        

        ramer/${project.artifactId}

        

        http://47.106.197.89:2375

        src/main/docker

        

            

                /

                ${project.build.directory}

                ${project.build.finalName}.jar

        

       

    

编写Dockerfile

在项目main 目录下新建目录 docker,并创建 Dockerfile文件(注意:ADD 后改为你的应用jar 名称)

FROM frolvlad/alpine-oraclejdk8

VOLUME /tmp

ADD eureka-0.0.1-SNAPSHOT.jar app.jar

RUN sh -c 'touch /app.jar'

ENV JAVA_OPTS=""

ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]

打包push 到服务器 

命令行cd 到当前项目目录下执行 

mvn package docker:build

运行报错

报以下的错误:

Exception caught: shim error: docker-runc not installed on system

解决办法

vim /etc/docker/daemon.json   编辑daemon.json

添加如下内容

"log-level":"warn",

"runtimes": {

"docker-runc": {

"path":"/usr/libexec/docker/docker-runc-current"

       }

   },

"add-runtime":"docker-runc=/usr/libexec/docker/docker-runc-current",

"default-runtime":"docker-runc"

使用 

cat /etc/docker/daemon.json 

查看更改后文件是否如图下:(特别之一检查是否有括号)

{

"log-level":"warn",

"runtimes": {

"docker-runc": {

"path":"/usr/libexec/docker/docker-runc-current"

       }

   },

"add-runtime":"docker-runc=/usr/libexec/docker/docker-runc-current",

"default-runtime":"docker-runc"

}


运行docker 镜像

列出当前服务器 

镜像列表   docker images

删除 images 镜像

docker rmi "IMAGE ID"

通过 IMAGE_ID启动 镜像

 docker run -p 8762:8761 da279ae920c8

8761 镜像中spirng boot 应用端口为 8761 (即spring boot 的应用端口号)

8762 (可自行定义为合适端口号)为设置访问 ip:8762 即可访问 镜像中spring boot 应用 (注意:记得开发端口可以外部访问)

测试镜像是否可以正常使用 本地电脑访问 服务端ip:8762 即可,出现应用正常页面即为OK。


你可能感兴趣的:(CentOS 7 下安装Docker 基础配置&&spring boot 相关配置)