OddFar's Notes OddFar's Notes
首页
  • Java-Se

    • Java基础
    • Java面向对象
    • Java常用类
    • Java集合框架
  • Java-Se进阶

    • JUC多线程
  • Java-ee

    • JavaWeb
  • SQL 数据库

    • MySQL
  • NoSQL 数据库

    • Redis
    • ElasticSearch
    • MongoDB
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • Spring

    • Spring
  • 中间件

    • RabbitMQ
  • Git
  • Docker
  • Jenkins
爬虫
  • Campus (opens new window)
  • 校园信息墙 (opens new window)
关于
归档
GitHub (opens new window)
首页
  • Java-Se

    • Java基础
    • Java面向对象
    • Java常用类
    • Java集合框架
  • Java-Se进阶

    • JUC多线程
  • Java-ee

    • JavaWeb
  • SQL 数据库

    • MySQL
  • NoSQL 数据库

    • Redis
    • ElasticSearch
    • MongoDB
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • Spring

    • Spring
  • 中间件

    • RabbitMQ
  • Git
  • Docker
  • Jenkins
爬虫
  • Campus (opens new window)
  • 校园信息墙 (opens new window)
关于
归档
GitHub (opens new window)
  • Git

  • docker

    • Docker - 知识体系
    • Docker - 概述
    • Docker - 安装
    • Docker - 常用命令
    • Docker - 可视化
      • 练习
        • 安装nginx
        • 安装tomcat
        • 部署ElasticSearch
      • 可视化
    • Docker - 镜像和仓库
    • Docker - 数据卷
    • Docker - DockerFile
    • Docker - 网络
    • Docker - Compose
  • Jenkins

  • 工具部署
  • docker
zhiyuan
2021-06-04
目录

Docker - 可视化

  • 练习
    • 安装nginx
    • 安装tomcat
    • 部署ElasticSearch
  • 可视化

# 练习

# 安装nginx

拉取镜像:

$ docker pull nginx
1

image-20210604134156428

启动容器:

-d 后台启动

docker run -d --name mynginx -p 3500:80 nginx
1

image-20210604134438899

进入容器:

[root@VM-0-6-centos ~]# docker exec -it mynginx /bin/bash
# 寻找nginx
root@511741b161de:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@511741b161de:/# cd /usr/share/nginx
root@511741b161de:/usr/share/nginx# ls
html
root@511741b161de:/usr/share/nginx# cd html
root@511741b161de:/usr/share/nginx/html# ls
50x.html  index.html
#可看到之前访问的内容是 index.html
root@511741b161de:/usr/share/nginx/html# cat index.html
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

# 安装tomcat

在 docker hub 官网搜索 tomcat:https://hub.docker.com/_/tomcat

翻到下面有教程

image-20210604135940495

docker run -it --rm tomcat:9.0
1
  • -it :交互模式

  • --rm:容器启动成功并退出以后容器就自动移除,一般在测试情况下使用!

1、下载tomcat镜像:

docker pull tomcat
1

2、启动

docker run -d -p 8080:8080 --name tomcat9 tomcat
1

3、进入tomcat

docker exec -it tomcat9 /bin/bash
1

进入后发现,webapps 里什么也没有

root@a1801a340333:/usr/local/tomcat# ls
BUILDING.txt  CONTRIBUTING.md  LICENSE	NOTICE	README.md  RELEASE-NOTES  RUNNING.txt  bin  conf  lib  logs  native-jni-lib  temp  webapps  webapps.dist  work
root@a1801a340333:/usr/local/tomcat# cd webapps
root@a1801a340333:/usr/local/tomcat/webapps# ls
root@a1801a340333:/usr/local/tomcat/webapps# 
1
2
3
4
5

若部署一个 jsp 网站,需要把文件复制到容器里,非常麻烦。

我们可以通过“数据卷”技术,将容器内文件和我们 Linux 文件进行映射挂载。

# 部署ElasticSearch

官网:https://hub.docker.com/_/elasticsearch

1、启动:

docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
1

2、查看状态

  • docker stats 容器id

    查看容器的cpu内存和网络状态

查看下cpu状态 ,发现占用的很大

image-20210604143220308

3、增加上内存限制启动

docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2
1

启动时,报错:名字已经存在

image-20210604143740445

可通过指令删除

  • docker rm name_of_the_docker_container
docker rm elasticsearch
1

我们可通过 docker ps -a 显示所有容器信息

再次启动后,发现内存变小了

image-20210604144022465

访问成功:

[root@VM-0-6-centos ~]# curl localhost:9200
{
  "name" : "d49fb1463f0a",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "ycGNdXS0TpC2lcOfIFlPkQ",
  "version" : {
    "number" : "7.6.2",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "ef48eb35cf30adf4db14086e8aabd07ef6fb113f",
    "build_date" : "2020-03-26T06:34:37.794943Z",
    "build_snapshot" : false,
    "lucene_version" : "8.4.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

关于名字的作用:

以后我们想启动上次配置的 ElasticSearch,用 docker start 容器名字 即可,不需要在重新配置

[root@VM-0-6-centos ~]# docker start elasticsearch
elasticsearch
[root@VM-0-6-centos ~]# docker ps
CONTAINER ID   IMAGE                 COMMAND                  CREATED             STATUS         PORTS                                                                                  NAMES
d49fb1463f0a   elasticsearch:7.6.2   "/usr/local/bin/dock…"   About an hour ago   Up 5 seconds   0.0.0.0:9200->9200/tcp, :::9200->9200/tcp, 0.0.0.0:9300->9300/tcp, :::9300->9300/tcp   elasticsearch
[root@VM-0-6-centos ~]# 

1
2
3
4
5
6
7

如果我们要使用 kibana , 如果配置连接上我们的es呢?网络该如何配置呢?

img_34

# 可视化

Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷 的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和 服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型单位对容器管理的全部需求。

如果仅有一个docker宿主机,则可使用单机版运行,Portainer单机版运行十分简单,只需要一条语句即可启动容器,来管理该机器上的 docker 镜像、容器等数据。

  • 安装并运行Portainer:
docker run -d -p 8088:9000 \
--restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
1
2
  • 访问:

http://IP:8088

首次加载比较慢,且登陆需要注册用户,给admin用户设置密码:

image-20210604155648194

单机版这里选择local即可,选择完毕,点击Connect即可连接到本地docker:

img_38

在 GitHub 上编辑此页 (opens new window)
最后更新: 2023/03/26, 13:03:00
Docker - 常用命令
Docker - 镜像和仓库

← Docker - 常用命令 Docker - 镜像和仓库→

Theme by Vdoing | Copyright © 2021-2023 oddfar | 冀ICP备20001094号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式