docker 制作jdk+tomcat+jenkins 镜像,并上传阿里云
新手上路~~~~~~
最近用到docker比较多,好奇镜像如何制作。开始镜像制作的学习
一、准备版本
版本:
jdk +tomcat +jenkins 链接: https://pan.baidu.com/s/1Lz8POLgGaS2sPTHIGRpynA 密码: tl8b
jdk: jdk1.8.0_241
tomcat: apache-tomcat-8.5.29
二、创建Dockerfile 文件,内容如下:
# 基础镜像 FROM ubuntu # 描述 MAINTAINER tomcat # 解压与复制jdk.tar.gz # 由于add/copy的文件必须使用上下文目录的内容, 因此要先将jdk.tar.gz拷贝到当前目录 ADD jdk-8u241-linux-x64.tar.gz /usr/local ADD apache-tomcat-8.5.29.tar.gz /usr/local ADD jenkins.war /usr/local/apache-tomcat-8.5.29/webapps/ # 配置 JDK 的环境变量和字符集 ENV JAVA_HOME /usr/local/jdk1.8.0_241 ENV PATH $JAVA_HOME/bin:$PATH ENV CLASSPATH .:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ENV LANG C.UTF-8 # 配置tomcat环境变量 ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.29 ENV CATALINA_BASE /usr/local/apache-tomcat-8.5.29 ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin # 暴露端口 EXPOSE 8080 # 启动tomcat -- 最后的命令要一直运行下去,以防容器退出 ENTRYPOINT /usr/local/apache-tomcat-8.5.29/bin/startup.sh && tail -f /usr/local/apache-tomcat-8.5.29/logs/catalina.out
三、构建镜像
dockerfile文件创建编辑完成之后,就构建镜像
sudo docker build -t jdk_tomcat .
#tomcat是我命名的镜像名称,可以自行更改
#jdk_tomcat 最后面的那个 . 不能少
四、构建完成之后,可以查看一下本地的镜像
五、创建和启动容器
sudo docker run -itd -p 8080:8080 --name jdk_tomcat jdk_tomcat
#第一个8080对外暴露端口,可以修改
六、访问tomcat和Jenkins
------------------------------------------
其他:
在制作的过程中,经常需要调试,容器镜像的删除等操作,过程中可能会用到如下命令。
# 关闭容器
sudo docker stop jdk_tomcat
# 删容器
sudo docker rm jdk_tomcat
# 删镜像
sudo docker rmi jdk_tomcat
# 启动容器
sudo docker start jdk_tomcat
# 进入bash
sudo docker exec -it jdk_tomcat bash
制作完成后,上传阿里云,方便有需要时候拉取。上传阿里云具体操作如下
没有账号的要先注册一下
2、创建命名空间和仓库
3、创建镜像选择本地仓库
4、上传镜像
可以按照操作指南来操作。具体是需要执行三个命令
1)登录阿里云仓库输入密码
docker login --username=你自己的用户名 registry.cn-hangzhou.aliyuncs.com
2)验证密码成功之后直接推送
docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/hw_wei/tomcat_jenkins:[镜像版本号]
docker push registry.cn-hangzhou.aliyuncs.com/hw_wei/tomcat_jenkins:[镜像版本号]
3)上传完成之后可以在阿里云的后台查看
后面有需要的时候,可以直接用docker pull 拉取镜像,然后运行run 运行镜像即可访问。
----------------------------------------------------------------------------------------