title: SpringBoot-Docker部署date: 2019-07-01 16:01:33
categories: Java
tags: java

环境及版本:

  • Docker:
  1. 新建文件 DockerFile ,内容如下 ```shell

    基础镜像

    FROM golang:1.16.7

ENV GOPROXY https://goproxy.cn,direct

COPY . $GOPATH/src/

COPY . /usr/local/ WORKDIR /usr/local/mysql-utilities-1.6.5

在宿主机的/var/lib/docker目录下创建一个临时文件并把它链接到tomcat容器的工作目录/tmp目录

VOLUME /tmp

下载

RUN go install github.com/hidu/mysql-schema-sync@latest \ && apt-get update \ && apt-get -y install python2 \ && python2 setup.py build \ && python2 setup.py install

修改工作空间

WORKDIR /usr/local/sql_compare RUN chmod 755 .compare.sh

制定启动容器时执行的命令,如果指定多条CMD,只有最后一条会执行,如果指定了ENTRYPOINT,会覆盖CMD

CMD 初始化成功

ENTRYPOINT会覆盖上行

ENTRYPOINT [“sh”,”-c”]

ENTRYPOINT [“./.compare.sh”,”-c”]

  1. 2.
  2. 构建docker镜像
  3. ```shell
  4. # 格式:docker build -t 镜像名(:标签) Dockerfile的相对位置
  5. docker build -t test .
  1. 构建容器并启动docker项目 ```shell

    -d: 后台运行容器,并返回容器ID

    -p: 指定端口映射,格式为:主机(宿主)端口:容器端口

    —name=”demo”: 为容器指定一个名称

    -v: 映射主机目录到容器,格式为:主机(宿主)路径:容器路径

    -it参数:容器的 Shell 映射到当前的 Shell,然后你在本机窗口输入的命令,就会传入容器

    /bin/bash:容器启动以后,内部第一个执行的命令。这里是启动 Bash,保证用户可以使用 Shell

springboot:0.0.1 ==》 镜像名(:标签),

docker run -d -p 8080:8080 test docker run -d -p 8090:8080 —name demo -v /root/log:/log test

启动后进入容器

docker run -it test /bin/bash

添加自定义参数

docker run —rm test “echo 12” ```

  1. dddd