一直想搞docker 镜像,确一直没有空搞。
1,安装启动docker
直接使用 yum -y install docker
启动 systemctl start docker
2.制作nginx 镜像
nginx 肯定是需要有配置文件,还有我们自己的H5 部署文件,这2种文件都需要打包到镜像中,我们才能让我们的nginx 镜像启动之后,能够按照预想的正常运行
conf 文件夹,放nginx 的配置文件
resource文件夹,放H5文件
nginx配置文件
nginx.conf
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
use epoll;
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
client_header_timeout 15;
client_body_timeout 15;
send_timeout 15;
keepalive_timeout 65;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 6;
gzip_types text/plain application/javascript application/x-javascript
text/javascript text/css application/xml;
gzip_vary on;
include /etc/nginx/conf.d/*.conf;
}
default.conf
server {
#映射7777端口
listen 7777;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
#error_log /var/log/nginx/host.error.log;
#指定访问路径
location / {
root /usr/share/nginx/html;
index index.html index.htm index.shtml;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
resouce 文件
我们放一个测试的html
index.html
hello word!
Dockerfile ,docker制作文件
# Version 1.0
# Base images 基础镜像,nginx ,最新版本
FROM nginx:latest
#LABEL 维护者信息 必须2个字段
LABEL luoyang luoyang@96225.com
#COPY 复制H5文件,放到镜像的指定目录,该目录需要和nginx配置中保持一致
COPY ./resource/ /usr/share/nginx/html/
#复制nginx 配置文件 放到镜像的指定目录,etc/nginx目录为nginx安装默认目录
COPY ./conf/nginx.conf /etc/nginx/nginx.conf
COPY ./conf/conf.d/default.conf /etc/nginx/conf.d/default.conf
#RUN 赋予权限
RUN chown -R nginx. /usr/share/nginx
#EXPOSE 映射端口
EXPOSE 7777
#CMD 运行以下命令
CMD ["nginx", "-g", "daemon off;"]
那我们的目录结构就是
nginx_doc
--------conf
------------nginx.conf
------------conf.d
------------------default.conf
--------resource
--------------------index.html
--------Dockerfile
制作镜像
必须进入到还有Dockerfile的文件夹中,执行以下命令
docker build ./ -t 镜像名称 ,例如 docker build ./ -t nginximage
查看制作好的镜像 docker images
第一次运行镜像 docker run
docker run --name luonginx -d -p 8082:7777 nginximage
docker run --name 镜像别名 -d -p 宿主机端口:镜像端口 镜像名称
查询运行的镜像 docker ps -a
docker stop id 停止运行的镜像
再次启动镜像 docker start [运行镜像ID]
删除书主句中运行的镜像 docker rm [运行镜像ID]
查询所有生产的镜像文件 docker images
删除已经存在的镜像文件 docker rmi 镜像ID]
查询镜像运行日志 docker logs -f [运行镜像id]
3,制作JDK镜像
制作JDK镜像就很简单了
JDK 也不需要配置什么,然后就是一个JAVA的JAR包
我就直接上Dockefile 文件
# Version 1.0
# Base images 基础镜像 JDK版本
FROM openjdk:8-alpine
#LABEL 维护者信息
LABEL luoyang luoyang@96225.com
#ENV 变量,配置一些环境变量
ENV TZ='Asia/Shanghai'
ENV DATA_API_ADDRESS="http://172.1.1.1"
ENV APP_LOG_PATH=/city/cock-back/logs
#RUN 创建文件夹
RUN mkdir -p ${APP_LOG_PATH}
#COPY 复制JAr 包
COPY ./back-1.0.0.jar /root
#EXPOSE 服务端口
EXPOSE 8888
#ENTRYPOINT 启动命令
ENTRYPOINT java -jar /root/back-1.0.0.jar
剩下的就是按照前面一步,就可以执行成功了