Docker - 可视化
# 练习
# 安装nginx
拉取镜像:
$ docker pull nginx
启动容器:
-d 后台启动
docker run -d --name mynginx -p 3500:80 nginx
进入容器:
[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>
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
翻到下面有教程
docker run -it --rm tomcat:9.0
-it :交互模式
--rm:容器启动成功并退出以后容器就自动移除,一般在测试情况下使用!
1、下载tomcat镜像:
docker pull tomcat
2、启动
docker run -d -p 8080:8080 --name tomcat9 tomcat
3、进入tomcat
docker exec -it tomcat9 /bin/bash
进入后发现,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#
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
2、查看状态
docker stats 容器id
查看容器的cpu内存和网络状态
查看下cpu状态 ,发现占用的很大
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
启动时,报错:名字已经存在
可通过指令删除
- docker rm name_of_the_docker_container
docker rm elasticsearch
我们可通过 docker ps -a
显示所有容器信息
再次启动后,发现内存变小了
访问成功:
[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"
}
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 ~]#
2
3
4
5
6
7
如果我们要使用 kibana , 如果配置连接上我们的es呢?网络该如何配置呢?
# 可视化
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
2
- 访问:
http://IP:8088
首次加载比较慢,且登陆需要注册用户,给admin用户设置密码:
单机版这里选择local即可,选择完毕,点击Connect即可连接到本地docker: