创建 MySQL 容器
$ docker run --name mysql_container -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -d mysql创建 Redis 容器
$ docker run --name redis_container -p 6379:6379 -d redis
进入 Redis 容器并启动 redis 客户端
$ docker exec -it redis_container redis-cli
挂载自定义配置文件启动
$ docker run --name redis_container -v $PATH/conf/redis.conf:/usr/local/etc/redis/redis.conf -d redis redis-server /usr/local/etc/redis/redis.conf
创建 Nginx 容器
$ docker run --name nginx_container -p 80:80 -v $PATH/www:/www -v $PATH/conf/nginx.conf:/etc/nginx/nginx.conf -d nginx
进入 Nginx 容器
$ docker exec -it nginx_container /bin/sh
运行项目
参考官方 Demo
http://spring.io/guides/gs/spring-boot-docker/
创建文件夹,放入项目 jar 包并在同目录下新建 Dockerfile 文件,内容如下:
FROM openjdk:8-jdk-alpine
ADD *.jar app.jar
ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -jar /app.jar
-Djava.security.egd=file:/dev/./urandom
Tomcat 优化字符串,优化启动速度
注意:如果项目中有使用 java.awt.* 包 (如:验证码),使用 openjdk 是不行的 (报错:初始化 sun.awt.* error),需要使用 sunjdk
构建镜像
$ docker build -t app/image .
注意第二个参数是 Dockerfile 文件所在目录,.表示当前目录
创建容器并运行项目
$ docker run --name app_container -p 8080:8080 -d app/image
进入 openjdk:8-jdk-alpine 容器
$ docker exec -it CONTAINER /bin/sh
查看项目运行日志(控制台日志)
$ docker logs --follow CONTAINER