【记录】 Docker 的安装和通过 Docker 使用 Tomcat and mongoDB 的过程

CentOS 7 下安装 Docker

摘自 菜鸟教程

Docker 要求 CentOS 系统的内核版本高于 3.10

通过 uname -r 命令查看你当前的内核版本

[root@runoob ~]# uname -r

移除旧的版本

[root@runoob ~]# yum remove docker

安装一些必要的系统工具

[root@runoob ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

添加软件源信息

[root@runoob ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新 yum 缓存

[root@runoob ~]# yum makecache fast

安装 Docker-ce

[root@runoob ~]# yum -y install docker-ce

启动 Docker 后台服务

[root@runoob ~]# systemctl start docker

测试运行 hello-world

[root@runoob ~]# docker run hello-world

Docker 中安装以及配置 Tomcat

安装 Tomcat

查找Docker Hub上的tomcat镜像

docker search tomcat

拉取官方的镜像

docker pull tomcat

这样 Tomcat 就被安装好了,接下来进行自定义配置

配置 Tomcat

首先在主机挑选任意一个喜欢的位置建立 tomcat 文件夹,该文件夹中放置安装 tomcat 的三个配置文件夹,分别为 conf、logs、webapps 三个文件夹。这三个文件夹可以在 windows 系统中安装的 tomcat 目录中拷贝一份进来。然后执行以下命令。

该命令代表启动 tomcat,并且设置启动名称 name 和端口号 port,并将主机当前目录下的 conf、logs、webapp 目录挂载到容器的 /usr/local/tomcat/ 下的 conf、logs、webapp 目录中,

这样以后修改 tomcat 只需要修改该目录下的相关文件即可。

docker run --name tomcat -p 8080:8080 -v $PWD/webapps:/usr/local/tomcat/webapps -v $PWD/logs:/usr/local/tomcat/logs -v $PWD/conf:/usr/local/tomcat/conf -d tomcat

通过运行以上命令只之后,可以通过 docker ps 查看正在运行的容器,如果有看到 tomcat 则启动成功,可以通过服务器公网 IP地址 + 设置的端口号进行访问

注意:执行该命令需要在本步骤新建的 tomcat 文件夹中执行。

修改配置文件并重新启动 Tomcat

有时候我们需要修改 tomcat 的端口号或其它配置,即修改 server.xml 文件,那需要怎么做呢?

首先如果当前有正在运行的 Tomcat,则需要停止并删除该容器(删除该容器并不是删除镜像,因此尽管删除)

docker stop 00fe9ba25a8c // 停止当前启动的 tomcat,后跟 tomcat 容器 ID,用 name 也可以
docker rm 00fe9ba25a8c // 删除 tomcat 容器

删除过后去到之前在主机创建的 tomcat 文件夹中,进入 conf 目录,并通过 vim 命令修改 server.xml 文件,在里面可以修改端口号和 docBase 等配置

修改成功之后回到 tomcat 目录下,运行下面的命令即可开启新配置的 tomcat, -p 后跟你修改过后的端口号

docker run --name tomcat -p 8081:8081 -v $PWD/webapps:/usr/local/tomcat/webapps -v $PWD/logs:/usr/local/tomcat/logs -v $PWD/conf:/usr/local/tomcat/conf -d tomcat

配置项目到 Tomcat

当我们需要将自己的项目跑起来的时候怎么办呢?

只需要将自己项目的文件放入 tomcat 文件夹下的 webapps 文件夹中即可,立即生效,不需要重启 tomcat 服务器。

Docker 中使用 mongoDB

安装 mongoDB

查找Docker Hub上的 mongo 镜像

docker search mongo

拉取官方的镜像

docker pull mongo
注意:在拉取官网镜像的时候可以在 mongo 后跟 :X.X,即跟上版本号,例如 mongo:3.2,跟版本号的 TAG 就为版本号。不跟默认拉取最新版本,默认 TAG 名称为 latest ,TAG 名称可以通过 docker images 查看

使用 mongo 镜像

在自己喜欢的目录下运行以下命令,将主机中当前目录下的db挂载到容器的/data/db,作为mongo数据存储目录

-p 27017:27017 :将容器的 27017 端口映射到主机的 27017 端口

:latest 代表 TAG 名称,可跟可不跟

docker run -p 27017:27017 -v $PWD/db:/data/db -d mongo:latest

查看启动情况

docker ps

使用mongo镜像执行mongo 命令连接到刚启动的容器,主机IP为172.17.0.1

docker run -it mongo:latest mongo --host 172.17.0.1

Docker 卸载安装镜像文件

卸载安装镜像文件需要先删除容器再删除镜像

以我删除 nginx 为例

第一步:停止 nginx (因为我的 nginx 在运行中,运行中的容器可以通过 docker ps 查看)
docker stop 00fe9ba25a8c // 后跟容器 ID
第二步:删除 nginx 容器
docker rm 00fe9ba25a8c // 后跟容器 ID

删除容器成功后,通过 docker images 还能看到 nginx 依然存在,因为还没有删除镜像

第三步:删除 nginx 镜像
docker rmi 00fe9ba25a8c // 该容器 ID 通过 docker images 查看

Docker 常用基本命令

从Docker Hub查找 mongo 镜像
[root@runoob ~]# docker search mongo

查看本地镜像列表

[root@runoob ~]# docker images

显示所有容器

[root@runoob ~]# docker ps -a

显示所有在运行的容器

[root@runoob ~]# docker ps

拷贝主机的/root/wd_app文件到tomcat容器(容器ID为96f7f14e99ab)的/usr/local/tomcat/webapps目录

[root@runoob ~]# docker cp /root/wd_app 96f7f14e99ab:/usr/local/tomcat/webapps

相关推荐