docker 打包流程

本贴最后更新于 276 天前,其中的信息可能已经水流花落
title: docker打包流程
categories: []
tags: []
halo:
site: https://demo.halo.run
name: 83b8cf12-29c1-4fb9-a472-e154777409c7
publish: false

Docker file 文件内容

# 该镜像需要依赖的基础镜像
FROM openjdk:11
# 指定维护者的名字
MAINTAINER spring

# 将指定目录下的jar包复制到docker容器的/www/wwwroot/webServer/目录下

COPY WebServer-0.0.1-SNAPSHOT.jar /www/wwwroot/webServer/WebServer-0.0.1-SNAPSHOT.jar
COPY target /www/wwwroot/webServer/target

# 声明服务运行在8081端口

EXPOSE 8081

# 指定docker容器启动时运行jar包

ENTRYPOINT ["java", "-jar","/www/wwwroot/webServer/WebServer-0.0.1-SNAPSHOT.jar","--spring.datasource.username=root","--spring.datasource.password=lichun123456"]

1.下载 mysql 镜像

docker pull mysql:5.7

2.创建 mysql 容器并启动

docker run -p 3306:3306 --name mysql \p
-v /export/mysql/conf:/etc/mysql/conf.d \
-v /export/mysql/log:/var/log/mysql \
-v /export/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=lichun123456  \
-d mysql:5.7

3.将 sql 脚本拷贝到 mysql 容器的根目录下

docker cp /www/wwwroot/webServer/webserver.sql mysql:/;

4.进入运行 mysql 的 docker 容器

docker exec -it 1b970838805a /bin/bash

5.使用 mysql 命令打开客户端

mysql -uroot -plichun123456 --default-character-set=utf8mb4

6.修改 root 帐号的权限,使得任何 ip 都能访问

grant all privileges on . to 'root'@'%';
drop database webserver

7.创建 springboot_admin 数据库:

create database webserver character set utf8mb4;

8.将 sql 文件导入到数据库

use webserver;
source /webserver.sql;

exit
exit


1.构建 docker springboot 应用镜像

docker build -t webserver/webserver-0.0.1 .

2.创建容器并启动

docker run -d -p 8888:8081
--name webserver
--link mysql:db
-v /export/Logs/WebServer-0.0.1:/export/Logs/WebServer-0.0.1
webserver/webserver-0.0.1

3.进入运行项目的 docker 容器

docker exec -it webserver /bin/bash

4.查看运行项目的日志

docker logs -f webserver

  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    492 引用 • 926 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...