From d6239f86494bb40203762600efa96023d78e7886 Mon Sep 17 00:00:00 2001 From: zhoyou <18525788842@163.com> Date: Thu, 9 Jan 2020 13:36:20 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=A2=9E=E5=8A=A0docker=E6=9E=84=E5=BB=BA?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=95=99=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/docker/docker.md | 206 +++++++++++++++++++++++++++++++++ docs/docker/docker_compose.md | 157 +++++++++++++++++++++++++ docs/docker/docker_file.md | 209 ++++++++++++++++++++++++++++++++++ docs/docker/docker_maven.md | 178 +++++++++++++++++++++++++++++ docs/reference | 0 5 files changed, 750 insertions(+) create mode 100644 docs/docker/docker.md create mode 100644 docs/docker/docker_compose.md create mode 100644 docs/docker/docker_file.md create mode 100644 docs/docker/docker_maven.md delete mode 100644 docs/reference diff --git a/docs/docker/docker.md b/docs/docker/docker.md new file mode 100644 index 0000000..e2ea477 --- /dev/null +++ b/docs/docker/docker.md @@ -0,0 +1,206 @@ +# 开发者必备Docker命令 + +> 本文主要讲解Docker环境的安装以及Docker常用命令的使用,掌握这些对Docker环境下应用的部署具有很大帮助。 + +## Docker 简介 + + Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows机器上。使用Docker可以更方便低打包、测试以及部署应用程序。 + +## Docker 环境安装 +- 安装yum-utils: +```bash +yum install -y yum-utils device-mapper-persistent-data lvm2 +``` +- 为yum源添加docker仓库位置: +```bash +yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo +``` +- 安装docker: +```bash +yum install docker-ce +``` +- 启动docker: +```bash +systemctl start docker +``` + +## Docker 镜像常用命令 + +### 搜索镜像 +```bash +docker search java +``` +![](../images/refer_screen_51.png) +### 下载镜像 +```bash +docker pull java:8 +``` +### 如何查找镜像支持的版本 +> 由于docker search命令只能查找出是否有该镜像,不能找到该镜像支持的版本,所以我们需要通过docker hub来搜索支持的版本。 + +- 进入docker hub的官网,地址:[https://hub.docker.com](https://hub.docker.com) +- 然后搜索需要的镜像: +![](../images/refer_screen_52.png) +- 查看镜像支持的版本: +![](../images/refer_screen_53.png) + +- 进行镜像的下载操作: +```bash +docker pull nginx:1.17.0 +``` + +### 列出镜像 +```bash +docker images +``` +![](../images/refer_screen_54.png) +### 删除镜像 +- 指定名称删除镜像 +```bash +docker rmi java:8 +``` +- 指定名称删除镜像(强制) +```bash +docker rmi -f java:8 +``` +- 删除所有没有引用的镜像 +```bash +docker rmi `docker images | grep none | awk '{print $3}'` +``` +- 强制删除所有镜像 +```bash +docker rmi -f $(docker images) +``` + +## Docker 容器常用命令 +### 新建并启动容器 +```bash +docker run -p 80:80 --name nginx -d nginx:1.17.0 +``` +- -d选项:表示后台运行 +- --name选项:指定运行后容器的名字为nginx,之后可以通过名字来操作容器 +- -p选项:指定端口映射,格式为:hostPort:containerPort + +### 列出容器 +- 列出运行中的容器: +```bash +docker ps +``` +![](../images/refer_screen_55.png) +- 列出所有容器 +```bash +docker ps -a +``` +![](../images/refer_screen_56.png) +### 停止容器 +```bash +# $ContainerName及$ContainerId可以用docker ps命令查询出来 +docker stop $ContainerName(或者$ContainerId) +``` +比如: +```bash +docker stop nginx +#或者 +docker stop c5f5d5125587 +``` +### 强制停止容器 +```bash +docker kill $ContainerName(或者$ContainerId) +``` +### 启动已停止的容器 +```bash +docker start $ContainerName(或者$ContainerId) +``` +### 进入容器 +- 先查询出容器的pid: +```bash +docker inspect --format "{{.State.Pid}}" $ContainerName(或者$ContainerId) +``` +- 根据容器的pid进入容器: +```bash +nsenter --target "$pid" --mount --uts --ipc --net --pid +``` +![](../images/refer_screen_57.png) +### 删除容器 +- 删除指定容器: +```bash +docker rm $ContainerName(或者$ContainerId) +``` +- 按名称删除容器 +```bash +docker rm `docker ps -a | grep mall-* | awk '{print $1}'` +``` +- 强制删除所有容器; +```bash +docker rm -f $(docker ps -a -q) +``` +### 查看容器的日志 +- 查看当前全部日志 +```bash +docker logs $ContainerName(或者$ContainerId) +``` +- 动态查看日志 +```bash +docker logs $ContainerName(或者$ContainerId) -f +``` +![](../images/refer_screen_58.png) +### 查看容器的IP地址 +```bash +docker inspect --format '{{ .NetworkSettings.IPAddress }}' $ContainerName(或者$ContainerId) +``` +![](../images/refer_screen_59.png) +### 修改容器的启动方式 +```bash +docker container update --restart=always $ContainerName +``` +### 同步宿主机时间到容器 +```bash +docker cp /etc/localtime $ContainerName(或者$ContainerId):/etc/ +``` +### 在宿主机查看docker使用cpu、内存、网络、io情况 +- 查看指定容器情况: +```bash +docker stats $ContainerName(或者$ContainerId) +``` +![](../images/refer_screen_60.png) +- 查看所有容器情况: +```bash +docker stats -a +``` +![](../images/refer_screen_61.png) +### 查看Docker磁盘使用情况 +```bash +docker system df +``` +![](../images/refer_screen_108.png) +### 进入Docker容器内部的bash +```bash +docker exec -it $ContainerName /bin/bash +``` +![](../images/refer_screen_62.png) + +## 修改Docker镜像的存放位置 +- 查看Docker镜像的存放位置: +```bash +docker info | grep "Docker Root Dir" +``` +![](../images/refer_screen_63.png) +- 关闭Docker服务: +```bash +systemctl stop docker +``` +- 移动目录到目标路径: +```bash +mv /var/lib/docker /mydata/docker +``` +- 建立软连接: +```bash +ln -s /mydata/docker /var/lib/docker +``` +![](../images/refer_screen_64.png) +![](../images/refer_screen_65.png) + +## 公众号 + +![公众号图片](http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/banner/qrcode_for_macrozheng_258.jpg) + diff --git a/docs/docker/docker_compose.md b/docs/docker/docker_compose.md new file mode 100644 index 0000000..f1226a4 --- /dev/null +++ b/docs/docker/docker_compose.md @@ -0,0 +1,157 @@ +# 使用Docker Compose部署SpringBoot应用 + +> Docker Compose是一个用于定义和运行多个docker容器应用的工具。使用Compose你可以用YAML文件来配置你的应用服务,然后使用一个命令,你就可以部署你配置的所有服务了。 + +## 安装 + +### 下载Docker Compose: +```shell +curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose +``` +### 修改该文件的权限为可执行: +```shell +chmod +x /usr/local/bin/docker-compose +``` +### 查看是否已经安装成功: +```shell +docker-compose --version +``` +![](../images/refer_screen_96.png) + +## 使用Docker Compose的步骤 + +- 使用Dockerfile定义应用程序环境,一般需要修改初始镜像行为时才需要使用; +- 使用docker-compose.yml定义需要部署的应用程序服务,以便执行脚本一次性部署; +- 使用docker-compose up命令将所有应用服务一次性部署起来。 + +## docker-compose.yml常用命令 + +### image +指定运行的镜像名称 +```yml +# 运行的是mysql5.7的镜像 +image: mysql:5.7 +``` + +### container_name +配置容器名称 +```yml +# 容器名称为mysql +container_name: mysql +``` + +### ports +指定宿主机和容器的端口映射(HOST:CONTAINER) +```yml +# 将宿主机的3306端口映射到容器的3306端口 +ports: + - 3306:3306 +``` + +### volumes +将宿主机的文件或目录挂载到容器中(HOST:CONTAINER) +```yml +# 将外部文件挂载到myql容器中 +volumes: + - /mydata/mysql/log:/var/log/mysql + - /mydata/mysql/data:/var/lib/mysql + - /mydata/mysql/conf:/etc/mysql +``` + +### environment +配置环境变量 +```yml +# 设置mysqlroot帐号密码的环境变量 +environment: + - MYSQL_ROOT_PASSWORD=root +``` + +### links +连接其他容器的服务(SERVICE:ALIAS) +```yml +# 可以以database为域名访问服务名称为db的容器 +links: + - db:database +``` + +## Docker Compose常用命令 + +### 构建、创建、启动相关容器: +```shell +# -d表示在后台运行 +docker-compose up -d +``` +### 停止所有相关容器: +```shell +docker-compose stop +``` +### 列出所有容器信息: +```shell +docker-compose ps +``` + +## 使用Docker Compose 部署应用 + +### 编写docker-compose.yml文件 + +> Docker Compose将所管理的容器分为三层,工程、服务及容器。docker-compose.yml中定义所有服务组成了一个工程,services节点下即为服务,服务之下为容器。容器与容器直之间可以以服务名称为域名进行访问,比如在mall-tiny-docker-compose服务中可以通过jdbc:mysql://db:3306这个地址来访问db这个mysql服务。 + +```yml +version: '3' +services: + # 指定服务名称 + db: + # 指定服务使用的镜像 + image: mysql:5.7 + # 指定容器名称 + container_name: mysql + # 指定服务运行的端口 + ports: + - 3306:3306 + # 指定容器中需要挂载的文件 + volumes: + - /mydata/mysql/log:/var/log/mysql + - /mydata/mysql/data:/var/lib/mysql + - /mydata/mysql/conf:/etc/mysql + # 指定容器的环境变量 + environment: + - MYSQL_ROOT_PASSWORD=root + # 指定服务名称 + mall-tiny-docker-compose: + # 指定服务使用的镜像 + image: mall-tiny/mall-tiny-docker-compose:0.0.1-SNAPSHOT + # 指定容器名称 + container_name: mall-tiny-docker-compose + # 指定服务运行的端口 + ports: + - 8080:8080 + # 指定容器中需要挂载的文件 + volumes: + - /etc/localtime:/etc/localtime + - /mydata/app/mall-tiny-docker-compose/logs:/var/logs +``` +**注意:如果遇到mall-tiny-docker-compose服务无法连接到mysql,需要在mysql中建立mall数据库,同时导入mall.sql脚本。具体参考[使用Dockerfile为SpringBoot应用构建Docker镜像](https://mp.weixin.qq.com/s/U_OcNMpLAJJum_s9jbZLGg)中的运行mysql服务并设置部分。** + +### 使用maven插件构建mall-tiny-docker-compose镜像 +![](../images/refer_screen_97.png) + +**注意:构建有问题的可以参考[使用Maven插件为SpringBoot应用构建Docker镜像](https://mp.weixin.qq.com/s/q2KDzHbPkf3Q0EY8qYjYgw)** + +### 运行Docker Compose命令启动所有服务 +先将docker-compose.yml上传至Linux服务器,再在当前目录下运行如下命令: +```shell +docker-compose up -d +``` +![](../images/refer_screen_98.png) + +访问接口文档地址http://192.168.3.101:8080/swagger-ui.html: + +![](../images/refer_screen_94.png) + +## 项目源码地址 + +[https://github.com/macrozheng/mall-learning/tree/master/mall-tiny-docker-compose](https://github.com/macrozheng/mall-learning/tree/master/mall-tiny-docker-compose) + +## 公众号 + +![公众号图片](http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/banner/qrcode_for_macrozheng_258.jpg) diff --git a/docs/docker/docker_file.md b/docs/docker/docker_file.md new file mode 100644 index 0000000..84b3efb --- /dev/null +++ b/docs/docker/docker_file.md @@ -0,0 +1,209 @@ + +# 使用Dockerfile为SpringBoot应用构建Docker镜像 + +> 上次写过一篇[使用Maven插件构建Docker镜像](https://mp.weixin.qq.com/s/q2KDzHbPkf3Q0EY8qYjYgw) ,讲述了通过docker-maven-plugin来构建docker镜像的方式,此种方式需要依赖自建的Registry镜像仓库。本文将讲述另一种方式,使用Dockerfile来构建docker镜像,此种方式不需要依赖自建的镜像仓库,只需要应用的jar包和一个Dockerfile文件即可。 + +## Dockerfile常用指令 + +### ADD +用于复制文件,格式: +``` +ADD +``` +示例: +```shell +# 将当前目录下的mall-tiny-docker-file.jar包复制到docker容器的/目录下 +ADD mall-tiny-docker-file.jar /mall-tiny-docker-file.jar +``` + +### ENTRYPOINT +指定docker容器启动时执行的命令,格式: +``` +ENTRYPOINT ["executable", "param1","param2"...] +``` +示例: +```shell +# 指定docker容器启动时运行jar包 +ENTRYPOINT ["java", "-jar","/mall-tiny-docker-file.jar"] +``` + +### ENV +用于设置环境变量,格式: +``` +ENV +``` +示例: +```shell +# mysql运行时设置root密码 +ENV MYSQL_ROOT_PASSWORD root +``` + +### EXPOSE +声明需要暴露的端口(只声明不会打开端口),格式: +``` +EXPOSE ... +``` +示例: +```shell +# 声明服务运行在8080端口 +EXPOSE 8080 +``` + +### FROM +指定所需依赖的基础镜像,格式: +``` +FROM : +``` +示例: +```shell +# 该镜像需要依赖的java8的镜像 +FROM java:8 +``` + +### MAINTAINER +指定维护者的名字,格式: +``` +MAINTAINER +``` +示例: +```shell +MAINTAINER macrozheng +``` + +### RUN +在容器构建过程中执行的命令,我们可以用该命令自定义容器的行为,比如安装一些软件,创建一些文件等,格式: +``` +RUN +RUN ["executable", "param1","param2"...] +``` +示例: +```shell +# 在容器构建过程中需要在/目录下创建一个mall-tiny-docker-file.jar文件 +RUN bash -c 'touch /mall-tiny-docker-file.jar' +``` + +## 使用Dockerfile构建SpringBoot应用镜像 + +### 编写Dockerfile文件 + +```shell +# 该镜像需要依赖的基础镜像 +FROM java:8 +# 将当前目录下的jar包复制到docker容器的/目录下 +ADD mall-tiny-docker-file-0.0.1-SNAPSHOT.jar /mall-tiny-docker-file.jar +# 运行过程中创建一个mall-tiny-docker-file.jar文件 +RUN bash -c 'touch /mall-tiny-docker-file.jar' +# 声明服务运行在8080端口 +EXPOSE 8080 +# 指定docker容器启动时运行jar包 +ENTRYPOINT ["java", "-jar","/mall-tiny-docker-file.jar"] +# 指定维护者的名字 +MAINTAINER macrozheng +``` + +### 使用maven打包应用 + +在IDEA中双击package命令进行打包: +![](../images/refer_screen_91.png) +打包成功后展示: +```shell +[INFO] --- spring-boot-maven-plugin:2.1.3.RELEASE:repackage (repackage) @ mall-tiny-docker-file --- +[INFO] Replacing main artifact with repackaged archive +[INFO] ------------------------------------------------------------------------ +[INFO] BUILD SUCCESS +[INFO] ------------------------------------------------------------------------ +[INFO] Total time: 30.749 s +[INFO] Finished at: 2019-06-16T14:11:07+08:00 +[INFO] Final Memory: 43M/306M +[INFO] ------------------------------------------------------------------------ +``` +将应用jar包及Dockerfile文件上传到linux服务器: +![](../images/refer_screen_92.png) +![](../images/refer_screen_95.png) +### 在Linux上构建docker镜像 +在Dockerfile所在目录执行以下命令: +```shell +# -t 表示指定镜像仓库名称/镜像名称:镜像标签 .表示使用当前目录下的Dockerfile +docker build -t mall-tiny/mall-tiny-docker-file:0.0.1-SNAPSHOT . +``` + +输出如下信息: +```shell +Sending build context to Docker daemon 36.37MB +Step 1/5 : FROM java:8 + ---> d23bdf5b1b1b +Step 2/5 : ADD mall-tiny-docker-file-0.0.1-SNAPSHOT.jar /mall-tiny-docker-file.jar + ---> c920c9e9d045 +Step 3/5 : RUN bash -c 'touch /mall-tiny-docker-file.jar' + ---> Running in 55506f517f19 +Removing intermediate container 55506f517f19 + ---> 0727eded66dc +Step 4/5 : EXPOSE 8080 + ---> Running in d67a5f50aa7d +Removing intermediate container d67a5f50aa7d + ---> 1b8b4506eb2d +Step 5/5 : ENTRYPOINT ["java", "-jar","/mall-tiny-docker-file.jar"] + ---> Running in 0c5bf61a0032 +Removing intermediate container 0c5bf61a0032 + ---> c3614dad21b7 +Successfully built c3614dad21b7 +Successfully tagged mall-tiny/mall-tiny-docker-file:0.0.1-SNAPSHOT +``` +查看docker镜像: +![](../images/refer_screen_93.png) +### 运行mysql服务并设置 + +#### 1.使用docker命令启动: +```shell +docker run -p 3306:3306 --name mysql \ +-v /mydata/mysql/log:/var/log/mysql \ +-v /mydata/mysql/data:/var/lib/mysql \ +-v /mydata/mysql/conf:/etc/mysql \ +-e MYSQL_ROOT_PASSWORD=root \ +-d mysql:5.7 +``` +#### 2.进入运行mysql的docker容器: +```shell +docker exec -it mysql /bin/bash +``` +#### 3.使用mysql命令打开客户端: +```shell +mysql -uroot -proot --default-character-set=utf8 +``` +#### 4.修改root帐号的权限,使得任何ip都能访问: +```sql +grant all privileges on *.* to 'root'@'%' +``` +#### 5.创建mall数据库: +```sql +create database mall character set utf8 +``` +#### 6.将mall.sql文件拷贝到mysql容器的/目录下: +```shell +docker cp /mydata/mall.sql mysql:/ +``` +#### 7.将sql文件导入到数据库: +```shell +use mall; +source /mall.sql; +``` + +### 运行mall-tiny-docker-file应用 + +```shell +docker run -p 8080:8080 --name mall-tiny-docker-file \ +--link mysql:db \ +-v /etc/localtime:/etc/localtime \ +-v /mydata/app/mall-tiny-docker-file/logs:/var/logs \ +-d mall-tiny/mall-tiny-docker-file:0.0.1-SNAPSHOT +``` +访问接口文档地址http://192.168.3.101:8080/swagger-ui.html: +![](../images/refer_screen_94.png) + +## 项目源码地址 + +[https://github.com/macrozheng/mall-learning/tree/master/mall-tiny-docker-file](https://github.com/macrozheng/mall-learning/tree/master/mall-tiny-docker-file) + +## 公众号 + +![公众号图片](http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/banner/qrcode_for_macrozheng_258.jpg) diff --git a/docs/docker/docker_maven.md b/docs/docker/docker_maven.md new file mode 100644 index 0000000..6b3460d --- /dev/null +++ b/docs/docker/docker_maven.md @@ -0,0 +1,178 @@ + +# 使用Maven插件为SpringBoot应用构建Docker镜像 +>本文主要介绍如何使用Maven插件将SpringBoot应用打包为Docker镜像,并上传到私有镜像仓库Docker Registry的过程。 + +## Docker Registry +### Docker Registry 2.0搭建 +```shell +docker run -d -p 5000:5000 --restart=always --name registry2 registry:2 +``` +如果遇到镜像下载不下来的情况,需要修改 /etc/docker/daemon.json 文件并添加上 registry-mirrors 键值,然后重启docker服务: +```json +{ + "registry-mirrors": ["https://registry.docker-cn.com"] +} +``` +### Docker开启远程API +#### 用vim编辑器修改docker.service文件 +``` +vi /usr/lib/systemd/system/docker.service +``` +需要修改的部分: +```shell +ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock +``` +修改后的部分: +```shell +ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock +``` +#### 让Docker支持http上传镜像 +```shell +echo '{ "insecure-registries":["192.168.3.101:5000"] }' > /etc/docker/daemon.json +``` +#### 修改配置后需要使用如下命令使配置生效 +```shell +systemctl daemon-reload +``` +#### 重新启动Docker服务 +```shell +systemctl stop docker +systemctl start docker +``` +#### 开启防火墙的Docker构建端口 +```shell +firewall-cmd --zone=public --add-port=2375/tcp --permanent +firewall-cmd --reload +``` + +## 使用Maven构建Docker镜像 +> 该代码是在mall-tiny-02的基础上修改的。 + +### 在应用的pom.xml文件中添加docker-maven-plugin的依赖 + +```xml + + com.spotify + docker-maven-plugin + 1.1.0 + + + build-image + package + + build + + + + + mall-tiny/${project.artifactId}:${project.version} + http://192.168.3.101:2375 + java:8 + ["java", "-jar","/${project.build.finalName}.jar"] + + + + / + ${project.build.directory} + ${project.build.finalName}.jar + + + + +``` +相关配置说明: +- executions.execution.phase:此处配置了在maven打包应用时构建docker镜像; +- imageName:用于指定镜像名称,mall-tiny是仓库名称,`${project.artifactId}`为镜像名称,`${project.version}`为仓库名称; +- dockerHost:打包后上传到的docker服务器地址; +- baseImage:该应用所依赖的基础镜像,此处为java; +- entryPoint:docker容器启动时执行的命令; +- resources.resource.targetPath:将打包后的资源文件复制到该目录; +- resources.resource.directory:需要复制的文件所在目录,maven打包的应用jar包保存在target目录下面; +- resources.resource.include:需要复制的文件,打包好的应用jar包。 + +### 修改application.yml,将localhost改为db +> 可以把docker中的容器看作独立的虚拟机,mall-tiny-docker访问localhost自然会访问不到mysql,docker容器之间可以通过指定好的服务名称db进行访问,至于db这个名称可以在运行mall-tiny-docker容器的时候指定。 + +```yml +spring: + datasource: + url: jdbc:mysql://db:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai + username: root + password: root +``` + +### 使用IDEA打包项目并构建镜像 +>注意:依赖的基础镜像需要先行下载,否则会出现构建镜像超时的情况,比如我本地并没有java8的镜像,就需要先把镜像pull下来,再用maven插件进行构建。 + +- 执行maven的package命令: +![](../images/refer_screen_68.png) +- 构建成功: +![](../images/refer_screen_66.png) +- 镜像仓库已有该镜像: +![](../images/refer_screen_67.png) + +## 运行mall-tiny-docker项目 + +### 启动mysql服务 +- 使用docker命令启动: +```shell + docker run -p 3306:3306 --name mysql \ + -v /mydata/mysql/log:/var/log/mysql \ + -v /mydata/mysql/data:/var/lib/mysql \ + -v /mydata/mysql/conf:/etc/mysql \ + -e MYSQL_ROOT_PASSWORD=root \ + -d mysql:5.7 +``` +- 进入运行mysql的docker容器: +```shell +docker exec -it mysql /bin/bash +``` +- 使用mysql命令打开客户端: +```shell +mysql -uroot -proot --default-character-set=utf8 +``` +![](../images/refer_screen_69.png) +- 修改root帐号的权限,使得任何ip都能访问: +```sql +grant all privileges on *.* to 'root'@'%' +``` +![](../images/refer_screen_70.png) +- 创建mall数据库: +```sql +create database mall character set utf8 +``` +- 将[mall.sql](https://github.com/macrozheng/mall-learning/blob/master/document/sql/mall.sql)文件拷贝到mysql容器的/目录下: +```shell +docker cp /mydata/mall.sql mysql:/ +``` +- 将sql文件导入到数据库: +```shell +use mall; +source /mall.sql; +``` +![](../images/refer_screen_71.png) +### 启动mall-tiny-docker应用服务 +- 使用docker命令启动(--link表示应用可以用db这个域名访问mysql服务): +```shell + docker run -p 8080:8080 --name mall-tiny-docker \ + --link mysql:db \ + -v /etc/localtime:/etc/localtime \ + -v /mydata/app/mall-tiny-docker/logs:/var/logs \ + -d mall-tiny/mall-tiny-docker:0.0.1-SNAPSHOT +``` +![](../images/refer_screen_72.png) +- 开启8080端口: +```shell +firewall-cmd --zone=public --add-port=8080/tcp --permanent +firewall-cmd --reload +``` +- 进行访问测试,地址:[http://192.168.3.101:8080/swagger-ui.html](http://192.168.3.101:8080/swagger-ui.html) +![](../images/refer_screen_73.png) + +## 项目源码地址 + +[https://github.com/macrozheng/mall-learning/tree/master/mall-tiny-docker](https://github.com/macrozheng/mall-learning/tree/master/mall-tiny-docker) + +## 公众号 + +![公众号图片](http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/banner/qrcode_for_macrozheng_258.jpg) diff --git a/docs/reference b/docs/reference deleted file mode 100644 index e69de29..0000000 -- Gitee From ffd6156d9e58f4278e9a4f4b05d114f443502e3d Mon Sep 17 00:00:00 2001 From: zhoyou <18525788842@163.com> Date: Thu, 9 Jan 2020 13:41:25 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=A2=9E=E5=8A=A0docker=E6=9E=84=E5=BB=BA?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=95=99=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 1450cda..82f2684 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ > Docker环境部署 - 在VirtualBox或其他环境中安装CenterOs7.6; -- Docker环境的安装请参考:[开发者必备Docker命令]([https://github.com/macrozheng/mall-learning/blob/master/docs/reference/docker.md)](https://github.com/macrozheng/mall-learning/blob/master/docs/reference/docker.md)); -- 本项目Docker镜像构建请参考:[使用Maven插件为SpringBoot应用构建Docker镜像]([https://github.com/macrozheng/mall-learning/blob/master/docs/reference/docker_maven.md)](https://github.com/macrozheng/mall-learning/blob/master/docs/reference/docker_maven.md)); -- 本项目在Docker容器下的部署请参考:[mall在Linux环境下的部署(基于Docker容器)]([https://github.com/macrozheng/mall-learning/blob/master/docs/deploy/mall_deploy_docker.md)](https://github.com/macrozheng/mall-learning/blob/master/docs/deploy/mall_deploy_docker.md)); -- 本项目使用Docker Compose请参考: [mall在Linux环境下的部署(基于Docker Compose)]([https://github.com/macrozheng/mall-learning/blob/master/docs/deploy/mall_deploy_docker_compose.md)](https://github.com/macrozheng/mall-learning/blob/master/docs/deploy/mall_deploy_docker_compose.md))。 +- Docker环境的安装请参考:[开发者必备Docker命令]([https://https://gitee.com/zhhongyu/neuray-pm-security/blob/master/docs/docker/docker.md); +- 本项目Docker镜像构建请参考:[使用Maven插件为SpringBoot应用构建Docker镜像]([https://gitee.com/zhhongyu/neuray-pm-security/blob/master/docs/docker/docker_maven.md); +- 本项目在Docker容器下的部署请参考:[mall在Linux环境下的部署(基于Docker容器)]([https://gitee.com/zhhongyu/neuray-pm-security/blob/master/docs/docker/docker_file.md); +- 本项目使用Docker Compose请参考: [mall在Linux环境下的部署(基于Docker Compose)]([https://gitee.com/zhhongyu/neuray-pm-security/blob/master/docs/docker/docker_compose.md)。 -- Gitee