Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 [1]
安装Docker
Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
查看服务器版本
uname -r 3.10.0-327.el7.x86_64
移除旧版本
sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine
安装一些必要的系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
添加软件源信息:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新 yum 缓存:
sudo yum makecache fast
安装 Docker-ce:
sudo yum -y install docker-ce
启动 Docker 后台服务
sudo systemctl start docker
测试运行 hello-world(不想做也可以)
docker run hello-world
搭建镜像
1.创建 /usr/local/dsjtserver 目录
2.创建在 dsjtserver/目录下创建
导入 apache-tomcat-8.5.33.tar 解压 命名为 tomcat
导入jdk 压缩文件 解压 命名为 java
3.创建 Dockerfile
vim Dockerfile
FROM centos
VOLUME /usr/local/tomcat/webapps/ROOT
#创建目录
#修改docker容器时间
RUN echo “Asia/shanghai” > /etc/timezone;
#修改编码格式
ENV LANG en_GB.utf8
RUN mkdir -p /usr/local
#把当前目录下的jdk文件夹添加到镜像
ADD tomcat /usr/local/tomcat
ADD java /usr/local/java
ENV JAVA_HOME /usr/local/java/
ENV CATALINA_HOME /usr/local/tomcat
ENV PATH
P
A
T
H
:
PATH:
PATH:JAVA_HOME/bin:$CATALINA_HOME/bin
#容器内部端口8080端口
EXPOSE 8080
#启动时运行tomcat
CMD ["/usr/local/tomcat/bin/catalina.sh",“run”]
- 运行
docker build -t docker.io/dsjtserver .
dsjtserver . :容器名字
注意:后面的"."必须有
docker run -d -p 27946:8080 docker.io/dsjtserver
27946:外部访问端口
8080:Docker 开放端口
5.挂载项目
docker run --privileged=true -d -p 8083:8080 -v /home/athena-cms/:/usr/local/tomcat/webapps/ROOT docker.io/dsjtserver
8083:外部访问端口号
8080:Docker 端口
/home/athena-cms :项目目录
/usr/local/dsjtserver/tomcat/webapps/ROOT :挂载点
6.打包镜像
docker save -o dsjtserver.tar docker.io/dsjtserver
7.打包成功
在当前目录下会出现镜像的tar包
当前例子的目录是/usr/local/dsjtserver/