正文
一、制作jdk镜像
1.下载jdk
链接:https://pan.baidu.com/s/1swrV9ffJnmz4S0mfkuBbIw
提取码:1111
2.Dockerfile
# 基础镜像,必须第一个写 FROM centos:7 # 作者 LABEL maintainer="koushenhai" # 介绍 LABEL description="jdk:1.8 image" # 在当前目录的文件,拷贝过去会自动解压到指定的目录 ADD jdk-8u161-linux-x64.tar.gz /usr/local # 运行命令 RUN cd /usr/local && mv jdk1.8.0_161 /usr/local/jdk # 设置环境变量 ENV JAVA_HOME /usr/local/jdk ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ENV PATH $PATH:$JAVA_HOME/bin
3.运行命令
# 构建镜像 docker build -t jdk:1.8 . # 查看镜像 > jdk 和 centos 说明构建成功 docker images # 运行容器 # -i > 即使没有连接,也要保持标准输入保持打开状态 一般与-t连用 # -d > 后台运行容器,并打印容器id # -t > 分配一个伪tty,一般与-i连用 docker run -itd --name jdk8 jdk:1.8 # 列出容器 docker ps -a # 进入容器 docker exec -it jdk8 /bin/bash # 查看jdk版本 > 出现版本号则说明启动成功 java -version # 退出容器 exit
二、制作apollo镜像
1.下载Apollo
mysql安装包:https://pan.baidu.com/s/1swrV9ffJnmz4S0mfkuBbIw
提取码:1111
2.Dockerfile
# 基础镜像 FROM jdk:1.8 # 信息 LABEL maintainer="koushenhai" LABEL description="laokou-apollo" # 开放端口 EXPOSE 8080 8090 8070 # 挂载 VOLUME /data # 复制文件 ADD apollo.zip /opt/apollo.zip # 运行 RUN cd /opt \ && mkdir -p /opt/apollo \ && yum install -y unzip zip \ && unzip apollo.zip -d /opt/apollo \ && chmod 777 /opt/apollo/demo.sh # 执行命令 ENTRYPOINT cd /opt/apollo && ./demo.sh start && tail -f /dev/null
3.修改demo.sh并移动到zip压缩包
apollo_config_db_url=jdbc:mysql://ip:3306/apolloconfigdb?characterEncoding=utf8 apollo_config_db_username=root apollo_config_db_password=xxx # apollo portal db info apollo_portal_db_url=jdbc:mysql://ip:3306/apolloportaldb?characterEncoding=utf8 apollo_portal_db_username=root apollo_portal_db_password=xxx config_server_url=http://0.0.0.0:8080 admin_server_url=http://0.0.0.0:8090 eureka_service_url=http://ip:port/eureka/ portal_url=http://0.0.0.0:8070
4.运行命令
# 构造镜像 docker build -t apollo:1.0 . # 启动容器 # -d 后台运行 # -p 映射端口 容器端口:服务器端口 # --name 重命名 # /bin/bash 启动shell脚本 docker run -itd -p 8080:8080 -p 8090:8090 -p 8070:8070 --name laokou-apollo apollo:1.0 /bin/bash # 进入容器 docker exec -it laokou-apollo /bin/bash # 进入apollo目录 cd /opt/apollo # 查看日志 tail -1000f apollo-service_optapolloservice.log # 启动成功后退出容器 exit # 访问页面 http://ip:8070 账号为 apollo 密码为 admin