部署nginx
1、搜索nginx镜像 也可以在docker hub 里面取查看nginx的各种版本 https://hub.docker.com/_/nginx
docker search nginx
2、拉取nginx 镜像
docker pull nginx
3、启动nginx镜像
docker run -d --name nginx01 -p 3344:80 nginx
4、测试访问nginx
curl localhost:3344
[root@iZuf6gomcpmv2fk1vu2w85Z home]# docker run -d --name nginx01 -p 3344:80 nginx
77166bdbf8685dba40717d6a0b08a6e85393be77ac4c79de4ce8c6dac1d14276
[root@iZuf6gomcpmv2fk1vu2w85Z home]# curl localhost:3344
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
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>
部署tomcat
# 官方的使用
docker run -it --rm tomcat:9.0
# 我们之前的启动都是后台,停止了容器还是可以查看 ;docker run -it --rm 是用完就删除容器,一般用来测试
#下载在启动
docker pull tomcat
#启动运行
docker run -d -p 3355:8080 --name tomcat01 tomcat
# 测试访问成功
但是能访问但是没有界面,因为tomcat默认部署应用的目录 webapps 里面为空,而原本在webapps目录下面的文件现在
都在webapps.dist目录下面。
#进入容器
[root@iZuf6gomcpmv2fk1vu2w85Z ~]# docker exec -it tomcat01 /bin/bash
#发现问题
1、linux命令少了
2、没有webappps,因为阿里云镜像默认最小镜像,其他不必要的都剔除了,保证最小的运行环境!!!
部署es
#es 暴露的端口很多,十分的耗内存
# es的数据一般需要放在安全目录上,挂载
#启动elasticsearch tag为版本号 --net somenetwork是网络配置相关,可暂时不要加上
docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:tag
#安装成功
[root@iZuf6gomcpmv2fk1vu2w85Z ~]# curl localhost:9200
{
"name" : "5de722a5836e",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "lPfA_sCiSM--S21wScFXPQ",
"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 查看状态 ,es大概占一个多g的内存
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
5de722a5836e elasticsearch 0.39% 1.239GiB / 7.638GiB 16.22% 1.18kB / 942B 0B / 696kB 43
#增加内存限制,修改配置文件 -e环境配置修改(限制最小64m,最大512m)
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
#查看状态,可以看到es占了内存只有300多M
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
3f8f28abe85e elasticsearch02 0.43% 359MiB / 7.638GiB 4.59% 656B / 0B 0B / 696kB 44
#curl localhost:9200
{
"name" : "3f8f28abe85e",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "3IezRa0_S4Sxo5Xc8hVpKQ",
"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、portainer (2023年之后的命令)
docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --name my-portainer portainer/portainer-ce:latest
2、Rancher (CI/CD 持续集成和持续部署时再用)
什么是portainer?
是Docker 的图形化界面管理工具,提供一个后台面板给用户操作。
# 安装
#启动命令
docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --name my-portainer portainer/portainer-ce:latest
利用9000端口访问
http://ip:9000/
进入登陆界面,设置密码后进入操作页面
点击左边的,查看本地容器
一般在公司里,我们不安装可视化面板,仅作参考。