一直想搞docker 镜像,确一直没有空搞。

1,安装启动docker

直接使用 yum -y install docker
启动 systemctl start docker

2.制作nginx 镜像

nginx 肯定是需要有配置文件,还有我们自己的H5 部署文件,这2种文件都需要打包到镜像中,我们才能让我们的nginx 镜像启动之后,能够按照预想的正常运行

docker 后台启动nginx镜像指定 端口 docker制作nginx镜像_html


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 后台启动nginx镜像指定 端口 docker制作nginx镜像_docker_02

第一次运行镜像 docker run

docker run --name luonginx -d -p 8082:7777 nginximage

docker run --name 镜像别名 -d -p 宿主机端口:镜像端口 镜像名称

docker 后台启动nginx镜像指定 端口 docker制作nginx镜像_html_03

查询运行的镜像 docker ps -a

docker stop id 停止运行的镜像

docker 后台启动nginx镜像指定 端口 docker制作nginx镜像_docker_04

再次启动镜像 docker start [运行镜像ID]

删除书主句中运行的镜像 docker rm [运行镜像ID]

docker 后台启动nginx镜像指定 端口 docker制作nginx镜像_docker_05

查询所有生产的镜像文件 docker images

docker 后台启动nginx镜像指定 端口 docker制作nginx镜像_html_06

删除已经存在的镜像文件 docker rmi 镜像ID]

查询镜像运行日志 docker logs -f [运行镜像id]

docker 后台启动nginx镜像指定 端口 docker制作nginx镜像_nginx_07

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

剩下的就是按照前面一步,就可以执行成功了