Centos7安装使用docker部署tomcat应用笔记
本文环境为vmware中安装centos7,然后在此centos中安装docker完成测试。
1、安装centos7(版本为CentOS-7-x86_64-Minimal-1611.iso),先在vmware创建空白机器,再指定iso位置完成安装,安装步骤在些不再详述。
2、配置网络,修改文件/etc/sysconfig/network-scripts/ifcfg-enxxxx(xxxx各机器不一样,以实际为准),将此文件的配置项ONBOOT修改为yes。 使用命令 service network restart 重启网络,再使用ip addr命令查看ip配置情况。
3、此版本的centos中Docker 软件包已经包括在默认的 CentOS-Extras 软件源里。因此想要安装 docker,只需要运行下面的 yum 命令 yum install docker -y 慢长等待下载完成安装即可,安装成功后可使用docker version查看版本。
[root@localhost ~]# docker version
Client:
Version: 1.12.5
API version: 1.24
Package version: docker-common-1.12.5-14.el7.centos.x86_64
Go version: go1.7.4
Git commit: 047e51b/1.12.5
Built:
OS/Arch: linux/amd64
Server:
Version: 1.12.5
API version: 1.24
Package version: docker-common-1.12.5-14.el7.centos.x86_64
Go version: go1.7.4
Git commit: 047e51b/1.12.5
Built:
OS/Arch: linux/amd64
[root@localhost ~]#
4、使用 systemctl start docker.service 启动docker服务,使用systemctl stop docker.service停止docker服务。 同时可使用命令systemctl enable docker.service将docker服务设置为开机启动,使用systemctl disable docker.service取消开机启动。ps -ef|grep docker可查看docker进程。
[root@localhost ~]# ps -ef|grep docker
root 10580 1 0 ? 00:00:28 /usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --exec-opt native.cgroupdriver=systemd --userland-proxy-path=/usr/libexec/docker/docker-proxy-current --selinux-enabled --log-driver=journald --signature-verification=false
root 10585 10580 0 ? 00:00:03 /usr/bin/docker-containerd-current -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --shim docker-containerd-shim --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --runtime docker-runc --runtime-args --systemd-cgroup=true
root 16587 15687 0 pts/0 00:00:00 grep --color=auto docker
[root@localhost ~]#
5、现在docker已经安装好,启动docker服务,直接在线pull一个tomcat镜像完成测试,使用命令docker pull tomcat,又是漫长的等待后完成镜像下载。 下载完成后,可使用命令docker images查看本地已经存在的镜像。
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/tomcat latest d9094b6afb20 1 days ago 355.3 MB
[root@localhost ~]#
6、基于已下载的tomcat镜像,创建一个容器,命令如下
docker create --name container-tomcat -p 8080:8080 tomcat
// --name 给这个容器起一个名字
// -p host到container的端口映射
打一个比方说,一个image就相当于一个系统光盘,容器,就是一部安装了这个系统电脑。
使用命令docker start container-tomcat启动容器中的tomcat,然后使用docker ps可以查看到容器中的tomcat进程,使用docker stop container-tomcat关闭,或docker kill container-tomcat
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
74d19870e22c tomcat "catalina.sh run" 23 hours ago Up 11 seconds 0.0.0.0:8080->8080/tcp container-tomcat
[root@localhost ~]#
容器启动后可以用docker logs -f container-tomcat 查看跟踪日志 若需要重启容器使用docker restart container-tomcat即可。
7、启动容器后即可访问tomcat(container的端口8080已映射到host的8080)。 可以直接url http://localhost:8080进行访问,查看结果。外部直接使用宿主host的ip进行访问即可。
8、前面已经看到docker容器里的tomcat已经启动了,那么,我们要怎么查看管理到容器里的tomcat呢?
使用以下命令进入容器
sudo docker exec -it 74d19870e22c /bin/bash
或
sudo docker exec -it container-tomcat /bin/bash
如下,进入到容器后pwd路径为容器内的目录路径,使用exit退出。
[root@localhost ~]# docker exec -it container-tomcat /bin/bash
root@74d19870e22c:/usr/local/tomcat# pwd
/usr/local/tomcat
root@74d19870e22c:/usr/local/tomcat#
比如要使用vi修改/usr/local/tomcat/conf/tomcat-users.xml配置文件,使tomcat的manager生效,先使用命令
apt-get update,这个命令的作用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。
再安装vim,使用命令apt-get install vim 然后就可以使用vi命令操作了。将tomcat-users.xml原用户配置部分取消注释并设置好密码,同时必须添加一个用户角色
9、如何将自己的war包上传到容器中的tomcat webapp下呢? 从container到主机的复制如下 docker cp container-tomcat:/usr/local/tomcat/conf/tomcat-users.xml /war/tomcat-users.xml 从主机到container的复制如下 docker cp /war/simpleweb.war container-tomcat:/usr/local/tomcat 上传war包后就可以完成部署到docker中tomcat了。
docker restart container-tomcat 重启tomcat即可生效。
结束。