Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
------引用 https://www.runoob.com/docker/docker-tutorial.html
以下是LZ利用Centos7.4对Docker的实践总结。
一、docker安装
参考:https://www.runoob.com/docker/centos-docker-install.html 或 https://blog.csdn.net/qq_38591756/article/details/82828130
二、docker实战
1.首先试着运行一个最简单的容器
-
-
- 下载一个docker镜像(这里以tomcat为例)
#拉取镜像 docker pull tomcat #查询镜像列表 docker images
- 下载一个docker镜像(这里以tomcat为例)
-
- 用上面下载的镜像运行容器
#运行容器
docker run --name tomcat -p 8080:8080 -v /root/test:/usr/local/tomcat/webapps/test -d tomcat
#查询容器情况
docker ps
如上404,我们来查下原因;
OK,到这里发现我们容器成功启动。
2.Dockerfile构建一个的jdk+tomcat的Web容器
-
-
- 首先下载需要的jdk与tomcat版本,这里以apache-tomcat-8.5.53.tar.gz和jdk-8u221-linux-x64.tar.gz为例。
-
jdk-8u221-linux-x64.tar.gz
链接:https://pan.baidu.com/s/1-oSA-2noT0og5G6BLudeJA
提取码:jg6p
apache-tomcat-8.5.53.tar.gz
链接:https://pan.baidu.com/s/1ZxBRNvlOUs5dJ-zICG74vw
提取码:7aab
-
-
- 然后创建一个目录,把tar包放到该目录下
mkdir jdk-tomcat
- 然后创建一个目录,把tar包放到该目录下
-
-
-
- 解压apache-tomcat-8.5.53.tar.gz和jdk-8u221-linux-x64.tar.gz
cd jdk-tomcat tar -zxvf apache-tomcat-8.5.53.tar.gz tar -zxvf jdk-8u221-linux-x64.tar.gz mv apache-tomcat-8.5.53 tomcat mv jdk1.8.0_221 jdk
- 制作Dockerfile
vim Dockerfile #使用的基础镜像 FROM centos #创建目录 RUN mkdir -p /docker_home/local #把当前目录下的jdk文件夹添加到镜像 ADD tomcat /docker_home/local/tomcat ADD jdk /docker_home/local/jdk ENV JAVA_HOME /docker_home/local/jdk/ ENV CATALINA_HOME /docker_home/local/tomcat ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin #暴露8080端口 EXPOSE 8080 #启动时运行tomcat CMD ["/docker_home/local/tomcat/bin/catalina.sh","run"]
- 构建镜像
docker build -t centos-jdk-tomcat:1.0 .
-
启动容器
docker run -d -p 8090:8080 --name jdk-tomcat jdk-tomcat:1.0
- 解压apache-tomcat-8.5.53.tar.gz和jdk-8u221-linux-x64.tar.gz
-
-
-
- OK,没问题。现在拷入一个项目,用jenkins为例。
#容器ID a2503f3cc78d
docker cp jenkins.war a2503f3cc78d:/docker_home/local/tomcat/webapps
docker stop a2503f3cc78d
docker start a2503f3cc78d链接:https://pan.baidu.com/s/1yr4_iY7Y51bE63m18poWZQ
- OK,没问题。现在拷入一个项目,用jenkins为例。
-
提取码:hag7
好的,成功将项目部署到搭建的web服务器!