风在路上 风在路上
首页
导航站
  • Java-Se

    • Java基础
  • Java-Se进阶-多线程

    • 多线程
  • Java-Se进阶-java8新特性

    • java8新特性
  • Java-ee

    • JavaWeb
  • Java虚拟机

    • JVM
  • golang基础

    • golang基础
  • golang框架

    • gin
  • SQL 数据库

    • MySQL
  • NoSQL 数据库

    • Redis
    • ElasticSearch
    • MongoDB
  • ORM

    • MyBatis
    • MyBatis-Plus
  • Spring

    • Spring
  • SpringMVC

    • SpringMVC1
    • SpringMVC2
  • SpringCloud

    • SpringCloud
  • 中间件

    • RabbitMQ
    • Dubbo
  • 秒杀项目
  • Git
  • Linux
  • Docker
  • JWT
  • 面试
  • 刷题
开发问题😈
设计模式
关于💕
归档🕛
GitHub (opens new window)

风

摸鱼
首页
导航站
  • Java-Se

    • Java基础
  • Java-Se进阶-多线程

    • 多线程
  • Java-Se进阶-java8新特性

    • java8新特性
  • Java-ee

    • JavaWeb
  • Java虚拟机

    • JVM
  • golang基础

    • golang基础
  • golang框架

    • gin
  • SQL 数据库

    • MySQL
  • NoSQL 数据库

    • Redis
    • ElasticSearch
    • MongoDB
  • ORM

    • MyBatis
    • MyBatis-Plus
  • Spring

    • Spring
  • SpringMVC

    • SpringMVC1
    • SpringMVC2
  • SpringCloud

    • SpringCloud
  • 中间件

    • RabbitMQ
    • Dubbo
  • 秒杀项目
  • Git
  • Linux
  • Docker
  • JWT
  • 面试
  • 刷题
开发问题😈
设计模式
关于💕
归档🕛
GitHub (opens new window)
  • Git

  • Linux

  • Docker

    • Docker
    • 概述
    • 安装和原理
    • 常用命令
    • 可视化
      • 练习
        • 安装nginx
        • 安装tomcat
        • 部署ElasticSearch
      • 可视化
    • 镜像和仓库
    • 数据卷
    • DockerFile
    • 网络
    • Compose
    • 常用软件安装
  • JWT

  • 工具部署
  • Docker
zdk
2022-06-02
目录

可视化

  • 练习
    • 安装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)
#Docker
最后更新: 2023/02/26, 12:02:00
常用命令
镜像和仓库

← 常用命令 镜像和仓库→

Theme by Vdoing | Copyright © 2022-2025 zdk | notes
湘ICP备2022001117号-1
川公网安备 51142102511562号
本网站由 提供CDN加速/云存储服务
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式