容器下安装jdk和tomcat:
通过挂载文件的方法,把宿主机上的文件挂载到容器中,然后解压到opt目录下:
tar -zxvf 包名 -C /opt/
/opt目录下
drwxr-xr-x 8 10 143 255 Dec 13 00:50 jdk1.8.0_121
drwxr-xr-x 9 root root 160 Mar 15 00:48 tomcat8-9080

配置环境变量:vi /etc/profile
export JAVA_HOME=/opt/jdk1.8.0_121
export JAVA_BIN=/opt/jdk1.8.0_121/bin
export JRE_HOME=/opt/jdk1.8.0_121/jre
export PATH=$PATH:$JAVA_HOME/bin:JRE_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JAVA_BIN JRE_HOME PATH CLASSPATH

##########docker tomcat###########
CATALINA_BASE=/opt/tomcat8-9080
CATALINA_HOME=/opt/tomcat8-9080
TOMCAT_HOME=/opt/tomcat8-9080
export CATALINA_BASE CATALINA_HOME TOMCAT_HOME
##########docker tomcat############

新增tomcat的启动文件:vi /opt/tomcat8-9080/bin/startup.sh
# Export environment variable
source /etc/profile
# Start tomcat
bash /opt/tomcat8-9080/bin/catalina.sh run

增加启动文件的执行权限:
chmod u+x ./startup.sh

然后可以把当前容器转化成一个镜像进行保存,再通过镜像生成一个容器
docker commit 被转的容器id 镜像仓库/镜像名(镜像名之前没有就创建,之前存在就替换)
然后docker images 查看一下是否生成镜像成功了。

通过镜像生成一个容器,并且指定容器的端口和执行tomcat
docker run -d -p 18080:9080 --name test01 centos-fx01 /opt/tomcat8-9080/bin/startup.sh

然后通过浏览器访问即可:
http://宿主机的外网ip:18080

或者是内网的,可以通过如下访问:
http://容器ip:9080
==================================================================================
查看容器的ip地址:
创建一个docker容器,docker系统会自动为该容器分配一个ip地址,通常是172.17开头。

我们可以在主机上用 docker inspect 命令 或者进入容器用ifconfig命令来查看容器的ip地址。

方法一:在容器里面ifconfig
[root@4c9ce5696573 /]# yum install net-tools

[root@4c9ce5696573 /]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.3 netmask 255.255.0.0 broadcast 0.0.0.0
inet6 fe80::42:acff:fe11:3 prefixlen 64 scopeid 0x20<link>
ether 02:42:ac:11:00:03 txqueuelen 0 (Ethernet)
RX packets 1673 bytes 10554255 (10.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1417 bytes 97375 (95.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

方法二:
[root@izuf63bjp8ts8nkl13pxh1z /]# docker inspect --format='{{.NetworkSettings.IPAddress}}' tomcat8-9080
172.17.0.3
[root@izuf63bjp8ts8nkl13pxh1z /]# docker inspect --format='{{.NetworkSettings.IPAddress}}' test01
172.17.0.2

或者是直接docker inspect +容器名或容器id,在详细信息里面查看。

方法三:
到宿主机的容器映射文件中查看:
/var/lib/docker/containers/c105873b15a1bf6a22002ceb27d91b35109dc156cad4cc27768f9f5ee61f8270下的hosts文件最下面一行:

172.17.0.2 c105873b15a1

=================================================================================

docker exec -it test01 /bin/bash      可以进入已经在运行的docker。如果attach进不了的,可以使用这个方式进入。

==================================================================================

用外网地址访问到docker里面部署的tomcat

前提条件是:docker里面已经部署了jdk和tomcat,端口号假设为9080

然后在宿主机上输入:

docker run -it -p 48000:9080 --name testtomcat docker.io/tomcat-fx  /bin/bash

命令说明:

-it 指进入交互式模式

-p 指定宿主机端口号 对应 该docker容器的端口号

--name  给创建的容器取名字 ,这里取名叫testtomcat

docker.io/tomcat-fx  指用哪个镜像来创建这个容器,这里也可以用镜像id号代替

/bin/bash   指进入容器后,执行的命令。

容器创建成功后,进入容器,启动tomcat。然后就可以通过浏览器进行访问了:

http://外网(公网)ip:48000/   或

http://私网ip:48000/   或是

curl  http://容器ip:9080    或是

curl  http://127.0.0.1:48000    或是

curl  localhost:48000

Linux中docker的使用二的更多相关文章

  1. Linux中docker的使用(2)

    容器下安装jdk和tomcat:通过挂载文件的方法,把宿主机上的文件挂载到容器中,然后解压到opt目录下:tar -zxvf 包名 -C /opt//opt目录下drwxr-xr-x 8 10 143 ...

  2. Linux中docker的使用

    # 列出当前所有正在运行的容器$ docker ps # 列出所有的容器$ docker ps -a # 列出最近一次启动的容器$ docker ps -l # 查看容器的相关信息$ docker i ...

  3. Linux中文件函数(二)

    一.link.linkat.unlink.unlinkat.remove函数 创建一个指向现有文件的链接的方法是使用link函数或linkat函数.函数的原型为: #include <unist ...

  4. linux中docker容器安装vi命令详解

    在使用docker容器时,同时你docker里的系统正好是debian或ubuntu的时候,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要 ...

  5. 将自己的SpringBoot应用打包发布到Linux下Docker中

    目录 将自己的SpringBoot应用打包发布到Linux下Docker中 1. 环境介绍 2. 开始前的准备 2.1 开启docker远程连接 2.2 新建SpringBoot项目 3. 开始构建我 ...

  6. Arch系Linux中安装Docker

    Arch系Linux中安装Docker 1. 下载最新版docker $ sudo pacman -Syu docker 2. 免sudo执行docker $ sudo gpasswd -a ${US ...

  7. Docker学习笔记二(linux下安装Docker)

    Docker学习笔记二(linux下安装Docker) 1.在线安装linux Docker 这种方式首先要保证linux 环境下可以上网,当然,小编是在自己的电脑上安装了虚拟机,在虚拟机上安装了,l ...

  8. Linux或Docker里安装minio / Docker中安装h5ai

    此文为单节点搭建操作 Linux中搭建minio 对象存储服务器 下载minio安装包 wget https://dl.minio.io/server/minio/release/linux-amd6 ...

  9. 浅谈Linux中的信号处理机制(二)

    首先谢谢 @小尧弟 这位朋友对我昨天夜里写的一篇<浅谈Linux中的信号处理机制(一)>的指正,之前的题目我用的“浅析”一词,给人一种要剖析内核的感觉.本人自知功力不够,尚且不能对着Lin ...

随机推荐

  1. C/c.pp:贪心,二分答案

    说是贪心有点牵强. 其次,答案满足单调性,如果在k次操作能完成那么在k+1次操作内也能完成. 因为大不了你就把多的一次对方操作再进行一次就好了. 怎么操作呢? 我们从头扫这个序列,遇到每一个不匹配位置 ...

  2. NOIP模拟 13

    我终于又厚颜无耻地赖着没走 ...... T1 矩阵游戏 用了30hmin找规律,然后发现貌似具有交换律,然后发现貌似有通项公式,然后发现貌似每次操作对通项的影响是相同的,然后发现貌似跟N没啥关系.. ...

  3. NOIP模拟测试23

    这次考试又一次暴露了我很大的问题. 首先做的比较好的是这几次考试一分没挂, 但是,这也体现了更大的问题,那就是我的实力似乎也仅限于此了. 考试先拿满了暴力分(100+0+50),然后看了看T2没看懂, ...

  4. js实现列表从下往上循环滚动

    html: <div class="liscorll"> <ul> <li>内容</li> </ul> </div ...

  5. 常用样式积累-scss

    /** * author ctj -- 自定义公用样式 */ /*清除浮动*/ .clearfix:after { height:; content: ''; display: block; clea ...

  6. docker项目——上线tomcat网站

    项目: 1.使用docker部署tomcat环境 2.上线网站 3.完成访问使用等 第一步.启动基于tomcat镜像的容器 a.导入镜像 [root@localhost ~]# docker load ...

  7. avtivmq(订阅写法)

    发布-订阅消息模式与点对点模式类似,只不过在session创建消息队列时,由session.createQuene()变为session.createTopic(). 消息发布者代码: 消息订阅者代码 ...

  8. Flink入门(一)——Apache Flink介绍

    Apache Flink是什么? ​ 在当代数据量激增的时代,各种业务场景都有大量的业务数据产生,对于这些不断产生的数据应该如何进行有效的处理,成为当下大多数公司所面临的问题.随着雅虎对hadoop的 ...

  9. C# VI: 删除字符串中指定字符的几种方法

    本文基于Stackoverflows上以下几个Question: Fastest way to remove chars from string (http://stackoverflow.com/q ...

  10. 架构设计:"4+1"视图

    概念 "4+1"视图,是指从5个不同视角来描述软件体系结构. "4+1"分别指: 逻辑视图 过程视图 物理视图 开发视图 场景/用例 视图 逻辑架构的描述可以围 ...