一、Docker 安装 Nginx
1. 搜索镜像 search (在官网搜索,可以看到帮助文档)
2. 下载镜像 pull
docker pull nginx
[root@liustudy ~]
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 605c77e624dd 3 months ago 141MB
hello-world latest feb5d9fea6a5 6 months ago 13.3kB
centos latest 5d0da3dc9764 6 months ago 231MB
mysql 8.0.23 cbe8815cbea8 12 months ago 546MB
参数解释:
-d 后台运行
--name 给容器命名
-p 宿主机端口,容器内部端口
[root@liustudy ~]
ecfd0ee4824caca14b1b6c8cecc43eb2ac41e19cac768cae27a8a3e14b98d7b8[root@liustudy ~]
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ecfd0ee4824c nginx "/docker-entrypoint.…" 7 seconds ago Up 6 seconds 0.0.0.0:9000->80/tcp nginx01
[root@liustudy ~]
3.端口暴露概念 4.进入容器
[root@liustudy ~]
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ecfd0ee4824c nginx "/docker-entrypoint.…" 18 minutes ago Up 18 minutes 0.0.0.0:9000->80/tcp nginx01
[root@liustudy ~]
root@ecfd0ee4824c:/
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@ecfd0ee4824c:/
root@ecfd0ee4824c:/etc/nginx
conf.d fastcgi_params mime.types modules nginx.conf scgi_params uwsgi_params
5.思考问题 每次改动nginx配置文件,都需要进入容器内部,十分的麻烦,如果可以在容器外部提供一个映射路径,达到在容器外部修改文件,容器内部就可以自动修改。(数据卷技术)
二、Docker 安装 Tomcat
docker run -it --rm tomcat:9.0
docker pull tomcat:9.0
docker run -d -p 9000:8080 --name tomcat02 tomcat
[root@liustudy home]
1.linux命令少了
2.没有webapps
原因:阿里云镜像的原因,默认最小的镜像,所有不必要的都要剔除掉,保证最小可运行环境。
ls -al
cp -r webapps.dist/* webapps
然后在浏览器通过公网IP访问配置的端口9000,发现可以访问到Tomcat的官方页面。
思考问题:以后每次部署项目,都要进入容器十分麻烦。要是可以在容器外提供一个映射路径,WebApps , 在外部部署放置项目,就自动同步到内部。
三、Docker 安装 es+kibana
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
docker stats 查看 cpu的状态
[root@liustudy home]
{
"name" : "52185fb4ec66",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "fpLv3zzdTGGxyg_HFfbAMg",
"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"
}
查看内存情况 docker stats 增加内存限制,修改配置文件 -e 环境配置修改
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 stats(已经控制到合理范围内了) 容器内部相互隔离,不能直接通过端口连接,所以需要通过网络处理才能进行连接。 可视化
docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
什么是portainer? Docker 图形化界面管理工具,提供一个后台面板供我们操作。
docker run -d -p 8088:9000 portainer/portainer
# 测试
[root@liustudy /]# curl localhost:8088
<!DOCTYPE html
><html lang="en" ng-app="portainer">
# 外网访问 http://ip:8088
访问后进入主页面: 选择本地 进入之后的面板
|