Docker 使用
2017-10-14 本文已影响0人
表象_Dark
执行 Dockerfile 文件
docker build -t ${1}:${2} .
#{?} 参数通配
一、创建镜像
1、创建 centos 7 镜像:
docker pull centos
2、创建JDK 镜像(Dcokerfile)
FROM centos:centos7
# 中文支持
ENV LANG=en_US.utf8
# 时区问题
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo "Asia/Shanghai" >> /etc/timezone
# install jdk8
ADD ./ /tmp
RUN chmod +x /tmp/jdk-8u131-linux-x64.rpm
RUN rpm -i /tmp/jdk-8u131-linux-x64.rpm
ENV JAVA_HOME /usr/java/jdk1.8.0_131
ENV PATH $PATH:$JAVA_HOME/bin
# install main packages:
RUN yum -y update
RUN yum -y install epel-release tar
#RUN yum -y install wget
#RUN yum -y install git zip unzip ; yum clean all
RUN yum -y install zip unzip ; yum clean all
3、创建 web 服务器镜像(Dokcerfile)
FROM ezjs_jdk8:base
VOLUME /tmp
# 需要修改addpp jar包名称
ENV NAME web_test
ADD ${NAME}-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
# 使用prodocker配置文件进行启动
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar", "--spring.profiles.active=dev"]
# 暴露指定端口 - 应用端口
EXPOSE 8088
备注:
spring.profiles.active=dev 指向 springBoot 运行文件
EXPOSE 指向 服务器端口(文件配置中的端口)
4、创建 MySQL 镜像与容器
mkdir -p /mnt/mysql/data
docker run -p 3306:3306 --name mysql -v /mnt/mysql/data:/var/lib/mysql -v /etc/localtime:/etc/localtime -e MYSQL_ROOT_PASSWORD=123456 -d --restart unless-stopped mysql:5.6
5、创建 web 容器
docker run -d -p 8088:8088 web_test:2
port1:port2 -> 对外端口 : 原始端口
web_test:2 : 镜像的 REPOSITORY:TAG
docker run -p 8088:8088 --name=web_client --link=base_mysql:base_mysql -d --restart unless-stopped web_client:tag(images:tag)