build&tag&push

#!/bin/sh
# docker-deploy.sh name repo tag

DOKCER_IMAGE_NAME=$1
REPO=$2
TAG=$3

IMAGE_ID=`docker build -q -t ${DOKCER_IMAGE_NAME} .`
echo docker build ${DOKCER_IMAGE_NAME} return image:${IMAGE_ID}
docker tag ${IMAGE_ID} ${REPO}:${TAG}
docker push ${REPO}:${TAG}

使用 docker 运行 mysql5.6

docker run -d \
--name local-mysql \
--hostname local-mysql \
-e MYSQL_ROOT_PASSWORD=my-secret-pw \
-p 3307:3306 \
-v ~/docker/local-mysql/var/lib/mysql:/var/lib/mysql \
mysql:5.6

使用 MYSQL_ALLOW_EMPTY_PASSWORD=yes 关闭密码。

使用 docker 进行 maven 编译

docker run -it --rm \
--name maven-build \
-v ~/docker/local-maven/var/maven/.m2:/var/maven/.m2 \
-v "$(pwd)":/home/maven \
-w /home/maven \
-u 1000 \
-e MAVEN_CONFIG=/var/maven/.m2 \
maven:alpine \
mvn -Duser.home=/var/maven -DskipTests clean package

使用 nodejs 进行编译

docker run --rm \
-v "$(pwd)":/home/www \
-w /home/www \
mhart/alpine-node \
npm install --registry=https://registry.npm.taobao.org

docker run --rm \
-v "$(pwd)":/home/www \
-w /home/www \
mhart/alpine-node \
npm run build

docker run --rm \
-v "$(pwd)":/home/www \
-w /home/www \
mhart/alpine-node \
npm rebuild node-sass

代码生成器

docker run --rm \
--name renren-generaor-docekr \
-p 9090:8080 \
qyvlik/renren-generator-docker \
--spring.datasource.url=jdbc:mysql://localhost:3306/your_database \
--spring.datasource.username=root \
--spring.datasource.password=root \
--server.port=8080

docker部署spring-boot

spring-boot 推荐的 Dockerfile 写法

# FROM library/openjdk:8-alpine

FROM frolvlad/alpine-oraclejdk8
MAINTAINER "test <qyvlik@qq.com>"
VOLUME /tmp
WORKDIR /home/www
ADD target/*.jar /home/www/app.jar
RUN adduser -D -u 1000 www www \
    && chown www:www -R /home/www
EXPOSE 8080
USER www
ENV JAVA_OPTS=""
ENTRYPOINT exec java $JAVA_OPTS -jar /home/www/app.jar

参考 Spring Boot和Docker实践中遇到的问题

https://medium.com/@cl4r1ty/docker-spring-boot-and-java-opts-ba381c818fa2

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐