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的主要内容,如果未能解决你的问题,请参考以下文章

在Ubuntu 14.04安装和使用Docker

Docker基础

我看不到在 ubuntu 20.04 上运行 docker compose 容器

Linux运维容器篇 docker入门简介和部署

Linux运维容器篇 docker入门简介和部署

Linux运维容器篇 docker入门简介和部署