dockerfile 创建镜像
1 目录结构
Dockerfile
pig.jar
2 Dockerfile内容
#FROM表示以后面的镜像为基础 当前是java8
FROM anapsix/alpine-java:8_server-jre_unlimited
#标识维护人
MAINTAINER creator_name
#配置镜像的环境变量
ENV TZ=Asia/Shanghai
#run 执行这些命令,可以进行一些初始化操作
RUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN mkdir -p /pig
#相当于cd,即打开指定的目录
WORKDIR /pig
#声明会用到的端口
EXPOSE 4000
#复制本地文件到容器中
ADD ./target/pig.jar ./
#启动容器时执行的操作
CMD sleep 60;java -Djava.security.egd=file:/dev/./urandom -jar pig.jar
科普:-Djava.security.egd=file:/dev/./urandom指定linux下随机数生成器,具体见https://www.cnblogs.com/orziii/p/7436298.html
3 在当前目录执行
docker build -t pig:v1 .
其中pig是镜像名,v1是镜像tag,.是当前路径,主要点不要丢了
4 通过docker images查询自己建的镜像
[root@zhgc pig-redis]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
pig v1 8e7fb6bd9a65 6 hours ago 193MB
5 运行镜像
docker run --name aaa --network pig-network -d -p localpost:dockerpost dockerImage
aaa是镜像启动后对应的容器名,--network是指定容器间通信网络,可以在容器间通过容器名之间访问对应的容器,d指后台启动,p是指定本地到容器的端口映射,最后的是镜像名加tag