文章目录

  • *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入门概述 docker 从入门到实践_Docker

②拉取镜像(docker pull nginx)

docker入门概述 docker 从入门到实践_docker_02


docker入门概述 docker 从入门到实践_docker_03

③启动镜像

docker run -d --name nginx01 -p:9090(暴露服务器Web的地址):80(nginx的默认端口) nginx

// 解释
--name(给容器命名)
-d(后台运行)

-p:9090:80(通过外网的9090端口可以访问到Nginx的80端口)
-p 宿主机端口:容器内部端口,即端口暴露

docker入门概述 docker 从入门到实践_容器_04


// 开始测试(本机自测)

★curl查看一个URL的状态,curl localhost:9090

docker入门概述 docker 从入门到实践_Docker_05


docker入门概述 docker 从入门到实践_docker入门概述_06

④进入Nginx容器内部

★docker exec -it nginx01 /bin/bash

★whereis nginx

docker入门概述 docker 从入门到实践_Docker_07


★查看nginx.conf

docker入门概述 docker 从入门到实践_Docker_08


★exit(退出容器)

思考:我们每次改动Nginx配置文件,都需要进入容器内部,十分的麻烦,我要是可以在容器外部提供一个映射地址,达到在容器外修改文件名,容器内部就可以自动修改——>-v 数据卷技术。

二、Docker安装Tomcat

①拉取镜像并启动(官方文档,用完及删除)

docker入门概述 docker 从入门到实践_容器_09


★docker run -it --rm tomcat:9.0

// 说明

我们之前的启动都是后台,停止了容器之后,容器还是可以查到 docker run -it --rm,一般用来测试,用完及删除

docker入门概述 docker 从入门到实践_docker入门概述_10


docker入门概述 docker 从入门到实践_nginx_11


// tomcat被删掉了

docker入门概述 docker 从入门到实践_nginx_12


docker入门概述 docker 从入门到实践_docker入门概述_13

②先下载,后启动

★docker pull tomcat:9.0

docker入门概述 docker 从入门到实践_docker_14


docker入门概述 docker 从入门到实践_docker_15


★docker run -d -p 9090:8080 --name tomcat01 tomcat:9.0

docker入门概述 docker 从入门到实践_docker入门概述_16


docker入门概述 docker 从入门到实践_容器_17

docker入门概述 docker 从入门到实践_nginx_18


// 阉割版本(webapps目录为null,但测试访问没有问题)

阿里云镜像的原因,默认是最小的镜像,所有不必要的都要剔除掉。保证最小可运行的环境。

docker入门概述 docker 从入门到实践_docker_19


docker入门概述 docker 从入门到实践_nginx_20


★cp -r webapps.dist/* webapps

docker入门概述 docker 从入门到实践_容器_21


思考:我们以后要部署项目,如果每次都要进入容器是不是十分麻烦,我要是可以在容器外部提供一个映射地址,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(卷挂载)

docker入门概述 docker 从入门到实践_nginx_22


// 访问测试(http:// 192.168.10.128:9090)

用户名/密码:admin/admin123456

docker入门概述 docker 从入门到实践_docker_23


docker入门概述 docker 从入门到实践_docker_24


// 选择操作本地就可以

docker入门概述 docker 从入门到实践_Docker_25


docker入门概述 docker 从入门到实践_Docker_26


docker入门概述 docker 从入门到实践_docker_27


docker入门概述 docker 从入门到实践_docker_28

②Rancher(CI/CD再用)

四、镜像原理之联合文件系统

①镜像是什么?

★镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码运行时、库、环境变量和配置文件。所有的应用,直接打包docker镜像,就可以直接跑起来!
★如何得到镜像?
1:从远程仓库下载
2:朋友拷贝给你
3:自己制作一个镜像DockerFile

②Docker镜像加载原理

我们下载的时候看到的一层层就是这个!

docker入门概述 docker 从入门到实践_docker_29


docker入门概述 docker 从入门到实践_docker入门概述_30

③分层原理

docker入门概述 docker 从入门到实践_Docker_31


docker入门概述 docker 从入门到实践_docker_32


docker入门概述 docker 从入门到实践_docker_33


docker入门概述 docker 从入门到实践_Docker_34


docker入门概述 docker 从入门到实践_Docker_35


Docker镜像都是只读的,当容器启动时,一个新的可写层被加载到镜像的顶部!
这一层就是我们通常说的容器层,容器之下的都叫镜像层!

④commit镜像

★docker commit 提交容器成为一个新的副本

// 命令和Git原理类似

docker commit -m=“提交的描述信息” -a=“作者” 容器ID 目标镜像名:[TAG]

// 开始测试

★docker run -d -p 8080:8080 tomcat:9.0

docker入门概述 docker 从入门到实践_容器_36


docker入门概述 docker 从入门到实践_docker_37


★docker exec -it 3bc919b05896 /bin/bash

docker入门概述 docker 从入门到实践_docker入门概述_38


★cp -r webapps.dist/* webapps(文件内容转移)

docker入门概述 docker 从入门到实践_docker_39


docker入门概述 docker 从入门到实践_Docker_40


// 调整后重新制作镜像,并commit

★docker commit -m=“add webapps app” -a=“xcgg” 容器ID tomcat02:1.0

docker入门概述 docker 从入门到实践_容器_41


docker入门概述 docker 从入门到实践_Docker_42


总结

每天一个提升小技巧!!!