linux12 - docker容器04 -->安装nginx和tomcat
Posted FikL-09-19
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux12 - docker容器04 -->安装nginx和tomcat相关的知识,希望对你有一定的参考价值。
一、commit镜像
#1.docker commit 提交容器成为一个新的副本
#命令和get原理类似
docker commit -m="提交的描述信息" -a="作者" [容器ID] 目标镜像名:[TAG]
#实战测试
- 启动一个默认的tomcat
- 发现这个默认的tomcat,是没有webapps应用,镜像的原因,官方的镜像默认web apps下面是没有文件的
- 我自己拷贝进去了进本的文件
- 将我们操作过的容器通过commit提交为一个镜像,我们以后就使用我们修改过的镜像即可,这就是我们自己的一个修改的镜像。
# 保存正在运行的容器直接为镜像
#格式
docker commit [容器ID|容器名称]
docker commit -a "作者" -m "描述信息" -p 容器ID 目标镜像名:t[TAG]
#实例
[root@docter ~]# docker ps 查看docter运行信息
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c89471939880 nginx "/docker-entrypoint.…" About a minute ago Up About a minute 0.0.0.0:49158->80/tcp, :::49158->80/tcp stoic_mcnulty
[root@docter ~]# docker commit -a "mm" -m "这是一个docter镜像" -p c89471939880 test:v1
[root@docter ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test v1 ad763deaccb4 19 seconds ago 133MB
alpine latest d4ff818577bc 3 days ago 5.6MB
nginx latest d1a364dc548d 3 weeks ago 133MB
#参数
-a:作者信息
-m:提交信息
-p:提交时,暂停容器运行
二、Docker安装nginx
# 1、搜索镜像 serash
# 2、下载镜像 pull
# 3、运行测试
[root@docter ~]# docker pull nginx #下载镜像
Using default tag: latest
latest: Pulling from library/nginx
b4d181a07f80: Pull complete
edb81c9bc1f5: Pull complete
b21fed559b9f: Pull complete
03e6a2452751: Pull complete
b82f7f888feb: Pull complete
5430e98eba64: Pull complete
Digest: sha256:47ae43cdfc7064d28800bc42e79a429540c7c80168e8c8952778c0d5af1c09db
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
[root@docter ~]# docker run -d --name nginx1 -p1234:80 nginx #启动
c959ab03c4b3d4f6e2a8b9c85c827b19057ffdc75d8776f404ddb0996239a329
# -d 后台运行
# --name 给容器命名
# -p 宿主机端口:容器内端口
[root@docter ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c959ab03c4b3 nginx "/docker-entrypoint.…" 2 seconds ago Up 2 seconds 0.0.0.0:1234->80/tcp, :::1234->80/tcp nginx1
[root@docter ~]# curl localhost:1234 #测试访问
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title
...
1、细部讲解
2、思考
我们每次修改nginx配置文件才可以进入容器很麻烦,向后-v数据卷 进入
三、Docker安装tomcat
# 1、搜索镜像 serash
# 2、下载镜像 pull
# 3、运行测试
[root@docter ~]# docker run -it --rm tomcat #官网推荐,用完即删除,不推荐使用
Unable to find image 'tomcat:latest' locally
latest: Pulling from library/tomcat
d960726af2be: Pull complete
[root@docter ~]# docker pull tomcat #下载镜像
Using default tag: latest
latest: Pulling from library/tomcat
d960726af2be: Pull complete
e8d62473a22d: Pull complete
8962bc0fad55: Pull complete
65d943ee54c1: Pull complete
da20b77f10ac: Pull complete
8669a096f083: Pull complete
e0c0a5e9ce88: Pull complete
f7f46169d747: Pull complete
215575e3a745: Pull complete
6b282851d654: Pull complete
Digest: sha256:9f502a5c7bafd4e1953dba4e77f9347c9211f987902ab8668a34997178f9bcd0
Status: Downloaded newer image for tomcat:latest
docker.io/library/tomcat:latest
[root@docter ~]# docker run -d -p 1111:8080 tomcat #tomcat启动
73abd32030e3a4b2dc91cd724afcc53795dba04678a48c86067ae1db41a94100
[root@docter ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
73abd32030e3 tomcat "catalina.sh run" 7 seconds ago Up 6 seconds 0.0.0.0:1111->8080/tcp, :::1111->8080/tcp elated_yonath
c959ab03c4b3 nginx "/docker-entrypoint.…" 30 minutes ago Up 30 minutes 0.0.0.0:1234->80/tcp, :::1234->80/tcp nginx1
#IP加端口访问
192.168.15.30:1111 #报错404
# 发现问题: 1、linux命令少了 2、没有webapps
#阿里云镜像的原因,默认是最小的镜像,所以不必要的删除
# 进入容器检查错误
[root@docter ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
73abd32030e3 tomcat "catalina.sh run" 7 seconds ago Up 6 seconds 0.0.0.0:1111->8080/tcp, :::1111->8080/tcp elated_yonath
c959ab03c4b3 nginx "/docker-entrypoint.…" 30 minutes ago Up 30 minutes 0.0.0.0:1234->80/tcp, :::1234->80/tcp nginx1
[root@docter ~]# docker exec -it 73abd32030e3 bash #进入容器
root@73abd32030e3:/usr/local/tomcat# cd webapps.dist/
root@73abd32030e3:/usr/local/tomcat/webapps.dist# ls
ROOT docs examples host-manager manager
root@73abd32030e3:/usr/local/tomcat# cp -r webapps.dist/* webapps
# IP加端口再次访问成功
192.168.15.30:1111
四、补充
# ec 是十分消耗内存的
clear #清理
docker stats # 查看cpu状态
[root@docter ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
73abd32030e3 tomcat "catalina.sh run" 24 minutes ago Up 24 minutes 0.0.0.0:1111->8080/tcp, :::1111->8080/tcp elated_yonath
c959ab03c4b3 nginx "/docker-entrypoint.…" 54 minutes ago Up 54 minutes 0.0.0.0:1234->80/tcp, :::1234->80/tcp nginx1
[root@docter ~]# docker stats 73abd32030e3
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
73abd32030e3 elated_yonath 0.24% 115MiB / 1.934GiB 5.80% 21.8kB / 212kB 0B / 0B 35
c959ab03c4b3 nginx1 0.00% 2.016MiB / 1.934GiB 0.10% 3.86kB / 4.97kB 0B / 13.3kB 3
以上是关于linux12 - docker容器04 -->安装nginx和tomcat的主要内容,如果未能解决你的问题,请参考以下文章