针对docker笔记【安装Tomcat】和docker安装部署tomcat这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展05通过docker安装tomcat、Centos7安装docker
针对docker 笔记 【安装 Tomcat】和docker安装部署tomcat这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展05 通过docker安装tomcat、Centos 7 安装 docker ,docker 安装 mysql 、 tomcat、CentOS Docker 安装 Tomcat、Docker 下自定义安装 Tomcat等相关知识,希望可以帮助到你。
本文目录一览:- docker 笔记 【安装 Tomcat】(docker安装部署tomcat)
- 05 通过docker安装tomcat
- Centos 7 安装 docker ,docker 安装 mysql 、 tomcat
- CentOS Docker 安装 Tomcat
- Docker 下自定义安装 Tomcat
docker 笔记 【安装 Tomcat】(docker安装部署tomcat)
安装 Tomcat
# 官方的使用
docker run -it --rm tomcat:9.0 # docker run -it --rm,一般用来测试,用完就删除,停止容器后,查不到容器
# 下载再启动
[zjf@iZwz9ancymzviwhi3qyj0gZ ~]$ docker pull tomcat
Using default tag: latest
latest: Pulling from library/tomcat
Digest: sha256:94cc18203335e400dbafcd0633f33c53663b1c1012a13bcad58cced9cd9d1305
Status: Downloaded newer image for tomcat:latest
docker.io/library/tomcat:latest
# 启动后台运行
[zjf@iZwz9ancymzviwhi3qyj0gZ ~]$ docker run -d -p 3051:8080 --name=tomcat01 tomcat
# 测试访问
# 进入容器
[zjf@iZwz9ancymzviwhi3qyj0gZ ~]$ docker exec -it tomcat01 /bin/bash
# 发现问题: 1、linux命令少了。 2、没有webapps。
# 原因:阿里云镜像的原因-默认是最小的镜像,所有不必要的都剔除掉,保证最小可运行的环境。
思考: 每次部署项目,如果每次都要进入容器是非常码放的: 如果可以在容器外部提供一个映射路径,webapps,
我们在外部房子项目,就能自动同步到内部。
05 通过docker安装tomcat
tomcat是一款最流行的服务器。本文将阐述在docker当中安装tomcat,并部署我们自己的项目。
1、获取tomcat
docker pull tomcat
2、启动tomcat
#创建宿主机子的路径,用以映射docker安装的tomcat所在的操作系统路径
mkdir -p /root/tomcat/webapps
mkdir -p /root/tomcat/logs
#启动tomcat
docker run --restart=always --privileged=true -p 8080:8080 -v /root/tomcat/logs:/usr/local/tomcat/logs -v /root/tomcat/webapps:/usr/local/tomcat/webapps --name mytomcat2 tomcat
#查看tomcat是否启动成功
docker ps|grep tomcat
3、测试
#进入宿主机子的映射目录,改变这里等价于改变tomcat容器中的/usr/local/tomcat/webapps
cd /root/tomcat/webapps
#创建一个文件夹test,并在其中创建文件
mkdir test
cd test
echo 'hello wanhe'>>index.html
操作:输入http://192.168.100.192:8080/test/index.html,查看结果。
#进入宿主机子的映射目录,改变这里等价于改变tomcat容器中的/usr/local/tomcat/webapps
cd /root/tomcat/webapps
#创建一个文件夹ROOT,并在其中创建文件
mkdir ROOT
cd ROOT
echo 'this is root'>>index.html
操作:输入http://192.168.100.192:8080/index.html,查看结果。
在实际部署中,在此webapps中放入我们的项目war包并命名为ROOT.war即可
Centos 7 安装 docker ,docker 安装 mysql 、 tomcat
一、安装docker
不要看其他的博客文档。就按照菜鸟教程执行。
菜鸟教程地址: http://www.runoob.com/docker/centos-docker-install.html
装了几次启动不了。按照这个流程一遍OK
我的环境是Centos 7, 内核 3.10版本。安装docker CE,社区免费版
移除旧的版本:
$ 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
[root@runoob ~]# docker run hello-world
二、设置docker开机自启动
# systemctl enable docker
# usermod -aG docker root(用户名)
重新登陆后直接查看,docker已经默认启动了。
三、docker 安装 MysqL 5.7版本。
MysqL 5.7安装后,启动MysqL容器
启动MysqL容器:
docker run -p 3306:3306 --name myMysqL -v $PWD/conf:/etc/MysqL/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/MysqL -e MysqL_ROOT_PASSWORD=root -d MysqL:5.7
-p 3306:3306 将容器的3306端口映射到主机的3306端口。
--name 容器名称。
-v -v $PWD/conf:/etc/MysqL/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/MysqL/my.cnf。
-v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。
-v $PWD/data:/var/lib/MysqL :将主机当前目录下的data目录挂载到容器的 /var/lib/MysqL 。
-e MysqL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
四、docker 安装 tomcat
docker pull tomcat:8.5 下载8.5版本的tomcat
docker run --name tomcat -p 8080:8080 -v $PWD/test:/usr/local/tomcat/webapps/test -d tomcat
启动tomcat容器。
-p 8080:8080:将容器的8080端口映射到主机的8080端口
-v $PWD/test:/usr/local/tomcat/webapps/test:将主机中当前目录下的test挂载到容器的/test
CentOS Docker 安装 Tomcat
CentOS Docker 安装
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
如果提示您接受 GPG 密钥,请选是。
启动 Docker。
$ sudo systemctl start docker
通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community 。
$ sudo docker run hello-world
Docker 安装 Tomcat
docker search tomcat
docker pull tomcat
docker run --name tomcat -p 8081:8080 -v $PWD/test:/usr/local/tomcat/webapps/test -d tomcat
Docker 下自定义安装 Tomcat
服务器环境建好以后,如果要扩展,只需要执行(详细命令到下文中找)
docker run .....
发完版本需要重启服务,执行(详细命令到下文中找)
docker restart [容器的ID]
将文件传到 tomcat 下,可参考 Docker cp 将宿主机上的文件复制到容器中
准备文件
apache-tomcat-9.0.31.tar.gz
jdk-8u191-linux-x64.tar.gz
CentOS上安装Docker。
1.检查内核版本,返回的值大于3.10即可。、
$ uname -r
安装 Docker
yum -y install docker
将tomcat 、jdk 传到 /usr/local/docker目录中
在java、jdk同级目录下,创建 Dockerfile 文件,文件名不能错,否则后面 build 会检测不到
[root@localhost ~]# cd /usr/local/docker/
[root@localhost docker]# touch Dockerfile
Dockerfile 文件内容如下
FROM centos
MAINTAINER ChenJun
#把java与tomcat添加到容器中
ADD ./jdk-8u191-linux-x64.tar.gz /usr/local/
ADD ./apache-tomcat-9.0.31.tar.gz /usr/local/
#安装vim编辑器
RUN yum -y install vim
#设置工作访问时候的WORKDIR路径,登录落脚点
ENV MYPATH /usr/local
WORKDIR $MYPATH
#配置java与tomcat环境变量
ENV JAVA_HOME /usr/local/jdk1.8.0_191
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.31
ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.31
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
#容器运行时监听的端口
EXPOSE 8080
#启动时运行tomcat
# ENTRYPOINT ["/usr/local/apache-tomcat-9.0.31/bin/startup.sh" ]
# CMD ["/usr/local/apache-tomcat-9.0.31/bin/catalina.sh","run"]
CMD /usr/local/apache-tomcat-9.0.31/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.31/bin/logs/catalina.out
构建
#点表示当前目录 ,也可以直接指定 docker build -t tomcat9 /usr/local/docker
[root@localhost docker]# docker build -t tomcat9 .
如果显示超时,可以重启一下 systemctl restart docker
构建成功后,如处图
启动docker 加上 webapp、logs目录映射
[root@localhost web]# docker run -d -p 9091:8080 --name tomcat9091 -v /opt/web/tomcat9091/webapps:/usr/local/apache-tomcat-9.0.31/webapps -v /opt/web/tomcat9091/logs/:/usr/local/apache-tomcat-9.0.31/logs --privileged=true tomcat9
[root@localhost web]# docker run -d -p 9092:8080 --name tomcat9092 -v /opt/web/tomcat9092/webapps:/usr/local/apache-tomcat-9.0.31/webapps -v /opt/web/tomcat9092/logs/:/usr/local/apache-tomcat-9.0.31/logs --privileged=true tomcat9
创建映射后,会自动的在 宿主机上建立相应的目录(tomcat webapps下面原有的目录不会映射过来,不知道为什么,通过 docker exec ... 进去看的时候,容器webapps里面也没有文件)
测试Tomcat
建个测试的war包
war 包上传到 9091下面,如果不加 test是不会显示的。默认带小猫的页面,不在本地的 webapps下面
有时候war包放上去,需要重新服务。这时候可以用命令重启
docker restart [容器的ID]
查看容器中的内容
[root@localhost docker]# docker exec 07de30dd6e3c ls -l
我们今天的关于docker 笔记 【安装 Tomcat】和docker安装部署tomcat的分享已经告一段落,感谢您的关注,如果您想了解更多关于05 通过docker安装tomcat、Centos 7 安装 docker ,docker 安装 mysql 、 tomcat、CentOS Docker 安装 Tomcat、Docker 下自定义安装 Tomcat的相关信息,请在本站查询。
本文标签: