docker从零使用-制作一个centos(tomcat+jdk)镜像

一、安装centOS7 (别用6.x的了装了好几个6.x没装好) 内核需要 3.10以上 (内核不达标的可以升级)

二、无脑执行安装命令

1、yum update
2、卸载旧版本(如果有) yum remove docker docker-common docker-selinux docker-engine
3、安装需要的软件包,yum-util 提供 yum-config-manager功能,另外两个是devicemapper驱动依赖(这个没有研究不知道是什么的)
4、设置yum源 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
5、可以查看所有仓库中的所有docker版本,并选择指定版本安装 yum list docker-ce --showduplicates | sort -r
6、安装最新稳定版 yum install docker-ce
7、也可以安装指定版本 yum install # 例如:sudo yum install docker-ce-17.12.0.ce
8、启动docker systemctl start docker (systemctl 可以用service代替)
9、加入开机启动 systemctl enable docker (systemctl 可以用service代替)
10、docker 版本查看 docker version

三、简单的例子

  • 前期准备

1、下载tomcat
docker pull tomcat (下载最新的,可以指定版本 docker pull tomcat:8)

  • 启动项目

1、可以记动tomcal镜像后直接把war包复制到tomcat容器里
docker cp Demo.war tomcat8:/usr/local/tomcat/webapps

2、将tomcat和war包生成镜像
1)、在war 包目录创建Dockerfile
2)、在文件内输入
from 802ac69e9ec6【tomcat镜像id】
copy Demo.war /usr/local/tomcat/webapps

3)、执行docker built -t tomcat_war .【镜像名】 {不要忘记最后发一个点}
4)、执行docker images 可以看到新生成的镜像
5)、执行 docker run -d -p 8081:8080 --name tomcat_war tomcat_war(或镜像id)

四、制作一个centos(tomcat+jdk)镜像

1、将Dockerfile、tomcat(解压后)、jdk (解压后)放在一个目录下
2、Dockerfile文件内容:

#指定操作的镜像
FROM centos

#维护者信息
MAINTAINER biubiu

#执行命令:创建目录
RUN mkdir -p /usr/local/soft
#将jdk1.8.0_171添加到镜像centos的/usr/local/soft/目录下,并命名为jdk
ADD jdk1.8.0_171 /usr/local/soft/jdk
#将apache-tomcat-8.5.31添加到镜像centos的/usr/local/soft/目录下,并命名为tomcat
ADD apache-tomcat-8.5.31 /usr/local/soft/tomcat

#添加环境变量
ENV JAVA_HOME /usr/local/soft/jdk
ENV CATALINA_HOME /usr/local/soft/tomcat
ENV PATH P A T H : PATH: PATH:JAVA_HOME/bin:$CATALINA_HOME/bin

#暴露8080端口
EXPOSE 8080

#启动时运行tomcat
CMD ["/usr/local/soft/tomcat/bin/catalina.sh",“run”]

3、执行docker build -t centos_tomcat
4、执行docker run -d -p 8080:8080 --name Icentos centos_tomcat
5、ip+端口测试是否运行起来
6、如果想往制作的镜像加入war包则可以新创建Dockerfile文件内容
from 802ac69e9ec6【tomcat镜像id】
copy Demo.war /usr/local/tomcat/webapps
7、执行docker build 即可

五、参考文档

  • https://blog.csdn.net/qq_37936542/article/details/80824389

你可能感兴趣的:(docker,docker)