Docker构建笔记
Dockerfile模板
模板一
FROM openjdk:8-jdk-alpine
MAINTAINER "维护者 <email>"
LABEL description="描述"
WORKDIR app
ADD app.jar /app/app.jar
EXPOSE 8081
CMD java -jar /app/app.jar
模板二
FROM java:8
MAINTAINER "xxx"
ADD hailan.jar hailan.jar
EXPOSE 8083
ENTRYPOINT ["java","-jar","hailan.jar"]
模板三 指定配置文件启动
FROM java:8
MAINTAINER "xxx"
ADD hailan.jar hailan.jar
COPY application /application
EXPOSE 8083
ENTRYPOINT ["java","-jar","hailan.jar","--spring.config.location=/application.yml"]
构建:
注意有个.(小数点)
docker build -t my/hailan .
运行
这个表示docker容器在停止或服务器开机之后会自动重新启动 --restart=always
docker run -d --restart=always -v /usr/local/lsz/logs:/logs --name hailan -p 80:80 my/hailan
不使用docker部署
nohup java -jar vTest.jar --spring.config.location=/usr/local/application.yml > /usr/local/nohup.out 2>&1 &
docker快速安装mysql(以5.7为例)
docker pull mysql:5.7
# 挂载安装
docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
docker cp mysql:/etc/mysql /usr/local/docker/mysql/conf/
docker cp mysql:/var/log /usr/local/docker/mysql/logs
docker cp mysql:/var/lib/mysql /usr/local/docker/mysql/data
docker rm -f mysql
# 挂载安装
docker run -p 3306:3306 --restart=always --name mysql \
-v /usr/local/docker/mysql/conf/mysql:/etc/mysql \
-v /usr/local/docker/mysql/logs/log:/var/log/mysql \
-v /usr/local/docker/mysql/data/mysql:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7
docker快速安装nginx
# 无挂载安装
docker run -p 8080:80 --name test_nginx -d docker.io/nginx
docker cp test_nginx:/usr/share/nginx/html /home/mnginx/nginx/html
docker cp test_nginx:/etc/nginx/nginx.conf /home/mnginx/nginx/conf/nginx.conf
docker cp test_nginx:/var/log/nginx /home/mnginx/nginx/logs
docker cp test_nginx:/etc/nginx/conf.d /home/mnginx/nginx/conf.d
docker rm -f test_nginx
# 挂载安装
docker run --name docker_nginx -d -p 80:80 --restart=always \
-v /home/mnginx/nginx/html:/usr/share/nginx/html \
-v /home/mnginx/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/mnginx/nginx/logs:/var/log/nginx \
-v /home/mnginx/nginx/conf.d:/etc/nginx/conf.d nginx
nginx 配置信息在容器中的位置
日志位置:/var/log/nginx/
配置文件位置:/etc/nginx/
项目位置:/usr/share/nginx/html
效果