Docker(2)

入门

入门: https://blog.csdn.net/YoonBongChi/article/details/111408385.

最常用的容器和镜像命令

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

使用docker部署Nginx

第一步 搜索镜像

方法一:
官网找: https://hub.docker.com/
.
建议用方法一,这要可以看帮助文档,更详细。

方法二:
命令

  docker search nginx

第二步 下载

命令

 docker pull nginx

第三步 运行测试

查看镜像有几个镜像

	[root@192 ~]# docker images
	REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
	nginx        latest    ae2feff98a0c   11 days ago   133MB
	centos       latest    300e315adb2f   2 weeks ago   209MB

运行

-d是后台
–name 是给容器命名
-p 宿主机端口:容器内部端口

	[root@192 ~]# docker run -d --name nginx01 -p 3344:80 nginx
	c7c3b830a1f62473ebf61611aa86fcef721e4f678f50b1e526fb0e6f1c4de34e
	[root@192 ~]# docker ps
	CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                  NAMES
	c7c3b830a1f6   nginx     "/docker-entrypoint.…"   6 seconds ago   Up 4 seconds   0.0.0.0:3344->80/tcp   nginx01

访问端口

[root@192 ~]# curl localhost:3344
<!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>

端口暴露的概念
在这里插入图片描述

通过外网访问

注意:nginx容器必须启动的情况下,关闭容器则无法访问

命令:
docker stop 容器id
在这里插入图片描述

进入容器

	[root@192 ~]# docker exec -it nginx01 /bin/bash
	root@c7c3b830a1f6:/# whereis nginx
	nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
	root@c7c3b830a1f6:/# ls
	bin   docker-entrypoint.d   home   media  proc  sbin  tmp
	boot  docker-entrypoint.sh  lib    mnt    root  srv   usr
	dev   etc                   lib64  opt    run   sys   var
	root@c7c3b830a1f6:/# 

问题:

思考问题:我们每次改动nginx配置文件,都需要进入容器内部?十分的麻烦,我要是可以在容器外部提供一个映射路径,达到在容器修改文件名,容器内部就可以自动修改?
数据卷技术。

部署Tomcat

第一步 直接下载

官方的
docker run -it --rm tomcat:9.0
docker run -it --rm 一般用来测试,用完即删。

上面的一般用于测试,不过只是删除了容器

照常下载在运行
下载

  docker pull tomcat:9.0

后台启动

docker run -d -p 3355:8080 --name tomcat01 tomcat

在这里插入图片描述

第二步 进入容器

[root@192 ~]# docker exec -it tomcat01 /bin/bash
root@bd9b088fbed4:/usr/local/tomcat# ls
BUILDING.txt     NOTICE         RUNNING.txt  lib             temp          work
CONTRIBUTING.md  README.md      bin          logs            webapps
LICENSE          RELEASE-NOTES  conf         native-jni-lib  webapps.dist
root@bd9b088fbed4:/usr/local/tomcat# ll
root@bd9b088fbed4:/usr/local/tomcat# ls -al
total 128
drwxr-xr-x. 1 root root    30 Dec 18 08:57 .
drwxr-xr-x. 1 root root    20 Dec 18 08:52 ..
-rw-r--r--. 1 root root 18982 Dec  3 11:48 BUILDING.txt
-rw-r--r--. 1 root root  5409 Dec  3 11:48 CONTRIBUTING.md
-rw-r--r--. 1 root root 57092 Dec  3 11:48 LICENSE
-rw-r--r--. 1 root root  2333 Dec  3 11:48 NOTICE
-rw-r--r--. 1 root root  3257 Dec  3 11:48 README.md
-rw-r--r--. 1 root root  6898 Dec  3 11:48 RELEASE-NOTES
-rw-r--r--. 1 root root 16507 Dec  3 11:48 RUNNING.txt
drwxr-xr-x. 2 root root  4096 Dec 18 08:58 bin
drwxr-xr-x. 1 root root    22 Dec 27 09:24 conf
drwxr-xr-x. 2 root root  4096 Dec 18 08:57 lib
drwxrwxrwx. 1 root root   177 Dec 27 09:24 logs
drwxr-xr-x. 2 root root   134 Dec 18 08:57 native-jni-lib
drwxrwxrwx. 2 root root    30 Dec 18 08:57 temp
drwxr-xr-x. 2 root root     6 Dec 18 08:57 webapps
drwxr-xr-x. 7 root root    81 Dec  3 11:45 webapps.dist
drwxrwxrwx. 2 root root     6 Dec  3 11:43 work
root@bd9b088fbed4:/usr/local/tomcat# cd webapps
root@bd9b088fbed4:/usr/local/tomcat/webapps# ls
root@bd9b088fbed4:/usr/local/tomcat/webapps# ll
bash: ll: command not found
root@bd9b088fbed4:/usr/local/tomcat/webapps# 

发现问题: 1、 linux令少了, 2,没有webapps。 阿里云镜像的原因。默认是最小的镜像,所有不必要的都剔除掉。
保证最小可运行的环境!

第三部 将webapps.dist中的配置cp到webapps.dist中

root@bd9b088fbed4:/usr/local/tomcat#  cp -r webapps.dist/* webapps
root@bd9b088fbed4:/usr/local/tomcat#

查看cp进去没

root@bd9b088fbed4:/usr/local/tomcat/webapps# ls
ROOT  docs  examples  host-manager  manager
root@bd9b088fbed4:/usr/local/tomcat/webapps# 

看可以了
在这里插入图片描述
思考问题:我们以后要部罢项目,如果每次都要进入容器是不是十分麻烦?我要是可以在容器外部提供一个映射路径, webapps.我们在外部放置项目,就自动同步到内部就好了!

部署es + kibanal

部署es+kiana

#1.环境需要:docker启动:systemctl start docker

# es 暴露的端口太多
# es 十分的耗内存
# es 的数据一般需要存放的安全的目录! 挂载
# --net somenetwork ? 网络配置
# 下载启动
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2

# 1.启动后一瞬间就linux就卡了。

#es 是十分耗内存的 1.核 2个G

# 测试一下es是否成功了
curl localhost:9200

#docker stats 查看cpu的状态
docker stats 容器id

用docker stats 查看发现本机就1.716G内存,他一下就站1.232G
在这里插入图片描述

# 赶紧关掉
docker stop 容器id

#增加内存限制,修改配置文档 -e 配置修改,记得给容器取名字,不然启动不成功。
docker run -d --name elasticsearch02 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2
#在查看容器cpu状态,这个时候就小了很多
docker stats 容器id

在这里插入图片描述

#看看能不能访问成功
curl localhost:9200
#成功了
[root@localhost /]# curl localhost:9200
{
  "name" : "e8f87f9af8bc",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "ZsvICehRRvOEEAoFWg1LQQ",
  "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"
}

#

Porainer(先用这个)可视化工具安装

# Docker图形化界面管理工具! 提供一个后台面板供我们操作。
docker run -d -p 8088:9000 \
--restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer

访问测试http://192.168.136.138:8088/#/init/admin 虚拟机ip

中文翻译后的

1.设置密码
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值