在CentOS7下从0开始搭建docker并发布tomcat项目

一切从0开始,我也是个小白:

1.检查你的系统是不是高于3.8的内核,如果没有请升级CentOS7或者Ubuntu 14

#uname -a

2.CentOS7下安装docker

#yum -y install docker

3.查看docker版本

#docker version

4.启动docker服务

#docker service start

5.查看本地镜像

#docker images

6.如果没有本地镜像,可以下载一个centos7的镜像来作为基础运行环境

#docker pull centos:7.2.1511

7.再次查看本地镜像

#docker images

[plain] view plain copy

  1. REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
  2. docker.io/centos    7.2.1511            feac5e0dfdb2        8 months ago        194.6 MB

8.在本地先备好jdk和tomcat,此处采用jdk1.7和tomcat7

#cd /root/software/

#wget http://zhibo100.oss-cn-hangzhou.aliyuncs.com/software/jdk-7u79-linux-x64.tar.gz

#wget http://zhibo100.oss-cn-hangzhou.aliyuncs.com/software/apache-tomcat-7.0.59.tar.gz

需要其他版本的jdk和tomcat操作方法类似。

9.挂载宿主主机到镜像容器的/mnt/software/下:

#docker run -i -t -v /root/software/:/mnt/software/  --privileged=true  feac5e /bin/bash

10.进入到/mnt/software/下解压jdk和tomcat并将其移动到/opt/目录下

#cd /mnt/software/

#tar -zxvf jdk-7u79-linux-x64.tar.gz

#tar -zxvf apache-tomcat-7.0.59.tar.gz

#mv jdk1.7.0_79/ /opt/jdk

#mv apache-tomcat-7.0.59 /opt/tomcat

11.配置JAVA环境变量并检测

#vi ~/.bashrc

在文件末尾加上

export JAVA_HOME=/opt/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

保存退出

#source ~/.bashrc

#java -version

[plain] view plain copy

  1. java version "1.7.0_79"
  2. Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
  3. Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

12.编写系统启动脚本并赋予权限

#vi /root/run.sh

加入以下代码

#!/bin/bash
source ~/.bashrc
sh /opt/tomcat/bin/catalina.sh run

#chmod u+x /root/run.sh

13.退出容器,并查看确认没有正在运行的容器

#exit

#docker ps

14.查询所有容器

#docker ps -a

[plain] view plain copy

  1. CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                          PORTS               NAMES
  2. ee0ee8ac3a93        feac                "/bin/bash"         13 minutes ago      Exited (0) About a minute ago                       sad_noyce

15.根据当前的容器ID创建新的镜像

#docker commit ee0ee sdzn.com/tomcat:0.1

16.查看当前的镜像

#docker images

[plain] view plain copy

  1. REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
  2. sdzn.com/tomcat     0.1                 af0647ada992        56 seconds ago      514.6 MB
  3. docker.io/centos    7.2.1511            feac5e0dfdb2        8 months ago        194.6 MB

17.以守护进程方式启动新的镜像并传入启动参数

#docker run -d -p 58080:8080 --name tomcat1 sdzn.com/tomcat:0.1 /root/run.sh

18.查看正在运行的镜像

#docker ps

[plain] view plain copy

  1. CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS              PORTS                     NAMES
  2. 10fe153d9d6d        sdzn.com/tomcat:0.1   "/root/run.sh"      14 seconds ago      Up 6 seconds        0.0.0.0:58080->8080/tcp   tomcat1

19.访问镜像:

http://127.0.0.1:58080

20.停止容器并移除

#docker ps -a

[plain] view plain copy

  1. CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS                      PORTS                     NAMES
  2. 148df39831f0        af                    "/bin/bash"         56 seconds ago      Exited (2) 14 seconds ago                             admiring_kalam
  3. 10fe153d9d6d        sdzn.com/tomcat:0.1   "/root/run.sh"      6 minutes ago       Up 6 minutes                0.0.0.0:58080->8080/tcp   tomcat1
  4. ee0ee8ac3a93        feac                  "/bin/bash"         25 minutes ago      Exited (0) 13 minutes ago                             sad_noyce

#docker stop 10f

#docker ps -a

[plain] view plain copy

  1. CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS                            PORTS               NAMES
  2. 148df39831f0        af                    "/bin/bash"         2 minutes ago       Exited (2) 2 minutes ago                              admiring_kalam
  3. 10fe153d9d6d        sdzn.com/tomcat:0.1   "/root/run.sh"      8 minutes ago       Exited (137) About a minute ago                       tomcat1
  4. ee0ee8ac3a93        feac                  "/bin/bash"         27 minutes ago      Exited (0) 15 minutes ago                             sad_noyce

#docker images

[plain] view plain copy

  1. REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
  2. sdzn.com/tomcat     0.1                 af0647ada992        12 minutes ago      514.6 MB
  3. docker.io/centos    7.2.1511            feac5e0dfdb2        8 months ago        194.6 MB

#docker start 10f

#docker ps

#docker stop 10f

#docker ps -a

[plain] view plain copy

  1. CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS                        PORTS               NAMES
  2. 148df39831f0        af                    "/bin/bash"         6 minutes ago       Exited (2) 6 minutes ago                          admiring_kalam
  3. 10fe153d9d6d        sdzn.com/tomcat:0.1   "/root/run.sh"      12 minutes ago      Exited (137) 13 seconds ago                       tomcat1
  4. ee0ee8ac3a93        feac                  "/bin/bash"         31 minutes ago      Exited (0) 19 minutes ago                         sad_noyce

#docker ps -a

[plain] view plain copy

  1. CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS                        PORTS               NAMES
  2. 10fe153d9d6d        sdzn.com/tomcat:0.1   "/root/run.sh"      12 minutes ago      Exited (137) 30 seconds ago                       tomcat1
  3. ee0ee8ac3a93        feac                  "/bin/bash"         31 minutes ago      Exited (0) 19 minutes ago                         sad_noyce

#docker rm 10f

#docker rm ee0ee

21.移除已创建的镜像

#docker images

[plain] view plain copy

  1. REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
  2. sdzn.com/tomcat     0.1                 af0647ada992        17 minutes ago      514.6 MB
  3. docker.io/centos    7.2.1511            feac5e0dfdb2        8 months ago        194.6 MB

#docker rmi af064

#docker images

[plain] view plain copy

  1. REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
  2. docker.io/centos    7.2.1511            feac5e0dfdb2        8 months ago        194.6 MB

至此结束,演示了从0开始搭环境,发布启动tomcat到清楚整个容器和镜像的完整过程。

后续如何配置多个项目公用一个tomcat的文章待续。

资料参考:

1.https://my.oschina.net/sunchp/blog/616526

2.http://blog.csdn.net/u011627980/article/details/51898234

原文地址:https://www.cnblogs.com/cxxjohnson/p/8412517.html

时间: 2025-01-12 00:23:16

在CentOS7下从0开始搭建docker并发布tomcat项目的相关文章

Centos7下Mysql8.0安装手册 以及 一些坑点总结

MySQL 8 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能! 一.  Mysql8.0版本相比之前版本的一些特性 1) 默认编码utf8默认编码使用utf8mb4, utf8mb4编码是utf8编码的超集,兼容utf8,并且能存储4字节的表情字符历史,MySQL数据库的 "utf8"并不是真正概念里的 UTF-8.MySQL中的"utf8"编码只支持最大3字节每字符.真正的大家正在使用

centos7下SVN服务器如何搭建

Centos7 搭建svn服务器 linux(centos)下SVN服务器如何搭建?说到SVN服务器,想必大家都知道,可以是在LINUX下如何搭建SVN服务器呢?那么今天给大家分享一下linux(centos)搭建SVN服务器的思路! 虽然在windows上搭建SVN很简单,但是效能却不高,这当然是和linux相比了.然而在linux上搭建SVN却非常繁琐,所以今天这篇文章就来一步一步教您如何在Centos上搭建SVN. 安装步骤如下: yum install subversion 查看安装位置

MAC下 IEDA发布tomcat项目的位置

idea 发布web项目后不会把项目放在tomcat的webapps目录下在mac里,可以使用 find ~ -name "tomcat" 命令查找出配置所在目录 # /Users/ak/Library/Caches/IntelliJIdea2018.1/tomcat //项目所在目录 每个项目的配置文件夹中有一个 /conf/Catalina/localhost/ROOT.xml 文件 其中,path是指在访问此项目时,是否需要添加额外的路径,如果为空,则直接使用域名或者ip就可以访

centos7下docker-ce19.03.2搭建本地开发环境(mysql5.7,RabbitMQ3.7.7-management,redis5.0.5)

yum remove docker docker-common docker-selinux docker-engine -- 卸载旧版本yum install -y yum-utils device-mapper-persistent-data lvm2 -- 安装需要的软件包,yum-util提供yum-config-manager功能,另外两个是devicemapper驱动依赖的yum-config-manager --add-repo https://download.docker.co

Centos7下Etcd集群搭建

一.简介 "A highly-available key value store for shared configuration and service discovery." Etcd是coreos开发的分布式服务系统,内部采用raft协议作为一致性算法.作为一个高可用的配置共享.服务发现的键值存储系统,Etcd有以下的特点: 1)简单:安装配置简单,而且提供了 HTTP API 进行交互,使用也很简单 2)安全:支持 SSL 证书验证 3)快速:根据官方提供的数据,单实例支持每秒

CentOS7下的YUM源服务器搭建详解,过程写的很详细(转)

因为近期公司需要搭建一个YUM源服务器给大量的linux(mini)使用,所以因此在网上找了很多的教程,却没有一个特别详细的,很多都有遗漏,参差不齐.所以,打算自己做完之后方便以后查阅,特出此文档. 一:要求 1.这个yum源服务器要能够定期自动更新自身源 2.使用CentOS官方标准源version6和version7的两个版本保持更新 3.linux(mini)客户端可以在使用的时候直接使用源,比如直接命令:yum –y install pcre* 二.思路 1.能够定期更新的源,肯定是需要

Centos7下的LAMP环境搭建

参考网站:http://www.cnblogs.com/mchina/archive/2012/05/17/2507102.html http://www.osyunwei.com/archives/5910.html http://www.luoxiao123.cn/centos-yum-lnmp.html http://blog.sina.com.cn/s/blog_66ac09390101ivep.html Centos7.0   lamp环境搭建 CentOS 7.0默认使用的是fire

centos7下zabbix2.0安装

一二三部分为介绍,此处略过.转载请注明出处http://15074813712.blog.51cto.com/addblog.php 安装环境的准备 4  系统环境 [[email protected] ~]# cat /etc/centos-release CentOS Linux release 7.0.1406 (Core) [[email protected] ~]# uname -r 3.10.0-123.el7.x86_64 5  关闭防火墙与selinux [[email prot

centos7下通过yum方式安装docker环境

1.移除旧版本: yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine rm -rf /etc/systemd/system/docker.service.d rm -rf /var/lib/docker r