文章目录
- *Docker入门到精通(二)*
- 一、Docker安装Nginx
- ①搜索镜像(docker search nginx)
- ②拉取镜像(docker pull nginx)
- ③启动镜像
- ④进入Nginx容器内部
- 二、Docker安装Tomcat
- ①拉取镜像并启动(官方文档,用完及删除)
- ②先下载,后启动
- 三、Docker可视化面板安装
- ①Portainer(先用这个)
- ②Rancher(CI/CD再用)
- 四、镜像原理之联合文件系统
- ①镜像是什么?
- ②Docker镜像加载原理
- ③分层原理
- ④commit镜像
- 总结
Docker入门到精通(二)
一、Docker安装Nginx
①搜索镜像(docker search nginx)
②拉取镜像(docker pull nginx)
③启动镜像
docker run -d --name nginx01 -p:9090(暴露服务器Web的地址):80(nginx的默认端口) nginx
// 解释
--name(给容器命名)
-d(后台运行)
-p:9090:80(通过外网的9090端口可以访问到Nginx的80端口)
-p 宿主机端口:容器内部端口,即端口暴露
// 开始测试(本机自测)
★curl查看一个URL的状态,curl localhost:9090
④进入Nginx容器内部
★docker exec -it nginx01 /bin/bash
★whereis nginx
★查看nginx.conf
★exit(退出容器)
思考:我们每次改动Nginx配置文件,都需要进入容器内部,十分的麻烦,我要是可以在容器外部提供一个映射地址,达到在容器外修改文件名,容器内部就可以自动修改——>-v 数据卷技术。
二、Docker安装Tomcat
①拉取镜像并启动(官方文档,用完及删除)
★docker run -it --rm tomcat:9.0
// 说明
我们之前的启动都是后台,停止了容器之后,容器还是可以查到 docker run -it --rm,一般用来测试,用完及删除
// tomcat被删掉了
②先下载,后启动
★docker pull tomcat:9.0
★docker run -d -p 9090:8080 --name tomcat01 tomcat:9.0
// 阉割版本(webapps目录为null,但测试访问没有问题)
阿里云镜像的原因,默认是最小的镜像,所有不必要的都要剔除掉。保证最小可运行的环境。
★cp -r webapps.dist/* webapps
思考:我们以后要部署项目,如果每次都要进入容器是不是十分麻烦,我要是可以在容器外部提供一个映射地址,webapps,我们在外部放置项目,就自动同步到内部就好了。
三、Docker可视化面板安装
①Portainer(先用这个)
Docker图形化界面管理工具,提供一个后台面板供我们操作!
安装命令:
docker run -d -p 9090:9000 \
--restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
--privileged=true(授权)
-v /var/run/docker.sock:/var/run/docker.sock(卷挂载)
// 访问测试(http:// 192.168.10.128:9090)
用户名/密码:admin/admin123456
// 选择操作本地就可以
②Rancher(CI/CD再用)
四、镜像原理之联合文件系统
①镜像是什么?
★镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码运行时、库、环境变量和配置文件。所有的应用,直接打包docker镜像,就可以直接跑起来!
★如何得到镜像?
1:从远程仓库下载
2:朋友拷贝给你
3:自己制作一个镜像DockerFile
②Docker镜像加载原理
我们下载的时候看到的一层层就是这个!
③分层原理
Docker镜像都是只读的,当容器启动时,一个新的可写层被加载到镜像的顶部!
这一层就是我们通常说的容器层,容器之下的都叫镜像层!
④commit镜像
★docker commit 提交容器成为一个新的副本
// 命令和Git原理类似
docker commit -m=“提交的描述信息” -a=“作者” 容器ID 目标镜像名:[TAG]
// 开始测试
★docker run -d -p 8080:8080 tomcat:9.0
★docker exec -it 3bc919b05896 /bin/bash
★cp -r webapps.dist/* webapps(文件内容转移)
// 调整后重新制作镜像,并commit
★docker commit -m=“add webapps app” -a=“xcgg” 容器ID tomcat02:1.0
总结
每天一个提升小技巧!!!