安装docker

新建本地虚拟机

使用VMware创建centos7虚拟机

安装docker-ce

参考云栖社区教程

  1. 安装必要的一些系统工具
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  2. 添加软件源信息
    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  3. 更新并安装 Docker-CE
    sudo yum makecache fast
    sudo yum -y install docker-ce
  4. 开启Docker服务
    sudo service docker start
  5. docker开机自启动
    systemctl enable docker

镜像加速

阿里云控制台——容器镜像服务——镜像加速器
容器镜像服务
将上图中红色方框中的内容拷贝到shell脚本中,运行脚本即可

暴露2375端口

修改docker配置文件
vim /usr/lib/systemd/system/docker.service
找到ExecStart添加-H tcp://0.0.0.0:2375,如下图
docker配置文件
重启docker
systemctl daemon-reload
systemctl restart docker

spring-boot项目

添加docker插件

修改pom.xml文件,添加以下插件

<build>
    <finalName>spring-boot-demo</finalName>
    <plugins>
        <plugin>
            <groupId>com.spotify</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <version>0.4.12</version>
            <configuration>
                <!-- 镜像名称 -->
                <imageName>springboot/spring-boot-demo</imageName>
                <!-- 上一步创建的虚拟机ip -->
                <dockerHost>192.168.234.201</dockerHost>
                <dockerDirectory>${project.basedir}</dockerDirectory>
                <resources>
                    <resource>
                        <targetPath>/</targetPath>
                        <directory>${project.build.directory}</directory>
                        <include>${project.build.finalName}.jar</include>
                    </resource>
                </resources>
            </configuration>
        </plugin>
    </plugins>
</build>

在项目根目录下创建Dockerfile文件,内容如下

FROM anapsix/alpine-java:8_server-jre_unlimited
MAINTAINER xuelingkang@163.com
ADD spring-boot-demo.jar app.jar
EXPOSE 8080
CMD nohup java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom $JAVA_OPTS -jar app.jar > /var/log/spring-boot-demo.log

打包

在项目根目录下打开cmd窗口,或者直接在idea中打开Treminal窗口,运行以下命令
mvn clean package -Dmaven.test.skip=true docker:build
成功后可以在虚拟机上查看到刚刚创建的镜像
docker images
docker images

上传镜像到阿里云

  1. 登录阿里云镜像仓库服务控制台,创建镜像,步骤略。
  2. 点击创建好的镜像
    镜像列表
    按照操作指南将本地虚拟机中的镜像上传到阿里云
    操作指南
  • docker login --username=xuelingkang@163.com registry.cn-zhangjiakou.aliyuncs.com
  • docker tag 012a2fd89768 registry.cn-zhangjiakou.aliyuncs.com/xzixi/spring-boot-demo:4.0
  • docker push registry.cn-zhangjiakou.aliyuncs.com/xzixi/spring-boot-demo:4.0

在服务器上运行项目

拉取镜像

docker pull registry.cn-zhangjiakou.aliyuncs.com/xzixi/spring-boot-demo:4.0
拉取完成后使用docker images命令查看镜像列表
镜像列表
为了方便使用,用docker tag命令将镜像重名
docker tag 012a2fd89768 bootdemo:4.0
重命名
删除远程镜像
docker rmi registry.cn-zhangjiakou.aliyuncs.com/xzixi/spring-boot-demo:4.0

运行镜像

docker run -d --name bootdemo \
# 可以在这里设置jvm参数,spring环境变量等
-e JAVA_OPTS='-Dspring.profiles.active=prod' \
# 挂载日志目录
-v /var/log/spring-boot-demo:/var/log/spring-boot-demo \
# 同步时间
-v /etc/localtime:/etc/localtime \
-p 8080:8080 \
bootdemo:4.0

网站地址

https://demo.xzixi.com

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐