nginx部署
1:搜索nginx
docker search nginx

2:拉取镜像
docker pull nginx
3:启动nginx镜像
docker run -d --name nginx01 -p:3344:80 nginx #-d后台启动 --name 起名 -p 端口映射 nginx启动镜像
4:访问
curl localhost:3344
5:端口暴露的概念
6:进入容器
docker exec -it nginx01 /bin/bash #交互式进入容器内部
Tomcat部署
# 官方使用 用完即删除--一般用于测试
docker run -it --rm tomcat:9.0 #-rm
1:pull 部署
docker pull tomcat:9.0
2:启动
docker -d --name tomcat01 -p 3355:8080 tomcat
3:测试没有问题
#进入容器后发现是阉割的
1:linux命令少了 2:没有webapps
#阿里云镜像原因,默认是最小的镜像,剔除所有不必需的功能
#保证最小的运行环境
#拷贝命令
cp -r webapp.dist/* webapps
部署 es+kibana
#es 暴露的端口很多
#es 十分耗内存
#es 的数据一般需要放置到安全目录 挂载
# --net somenetword ?网络配置
#下载启动
docker run -d --name elasticsearch --net somenetwork
-p 9200:9200 -p 9300:9300
-e "discovery.type.type=single-node" elasticsearch:tag
#启动后发现很卡 es十分耗内存
docker stats 容器id #查看容器cpu,内存的状态
增加内存限制,修改配置参数
# -e
docker run -d --name elasticsearch --net somenetwork
-p 9200:9200 -p 9300:9300
-e "discovery.type.type=single-node"
-e ES_JAVA_OPTS="-Xms64m -Xmx512m"
elasticsearch:7.6.2
mysql部署安装
# 获取镜像
docker -pull mysql:5.7
# 运行容器,需要数据库,#启动安装mysql,需要配置密码!
docker run -d -p 3306:3303 -v /home/mysql/conf:/ect/mysql/cong
#官方测试 docker run name some mysql e MYSQL_ROOY_PASSWORD-MY SECRET PW D MYSQL:TAG
#启动我们的
-d 后台运行 --name取名 -v卷挂载 -p端口映射 -e环境配置
docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7
#启动成功后,我们本地使用Navicat测试一下
具名挂载 匿名挂载
# 匿名挂载
-v 容器内路径
docker run -d -P --name nginx02 -v /etc/nginx nginx
# 查看所有的volumn的情况
docker volumn ls
#这里发现我们在-v只写了容器内的路径,没有写容器外的路径
# 具名挂载
doker run -d -p --name nginx03 -v juming-nginx:/etc/nginx nginx
#通过 -v 卷名:容器内路径
#查看这个卷
docker volumn inspect 卷名

所有的docker容器内的卷,没有指定目录的情况下都是在/var/lib/docker/volumes/xxxx/_data
我们通过具名挂载可以方便我们找到一个卷,大多数情况在使用具名挂载
如何判断是具名挂载还是匿名挂载,还是指定路径挂载
-v 容器内路径 #匿名挂载
-v 卷名:容器内路径 #具名挂载
-v /宿主机路径::容器内路径 #指定路径挂载
