步骤 2 : 进入容器 步骤 3 : 概念 步骤 4 : 更多操作
通过 跑天猫 这么一个示例,下面我们来理解 Docker 里面的概念。
如图所示: 最上面是镜像仓库。 在 拉取镜像 中的语句: docker pull how2j/tmall "how2j/tmall" 就是站长事先做好的一个镜像。 所谓的镜像,就是持久化后的,安装了各种工具,软件和服务的一个Linux 操作系统。 它是 站长事先就上传到 docker 的镜像仓库去的。 镜像仓库又在哪里呢? 它就在这里啦: https://cloud.docker.com/u/how2j/repository/docker/how2j/tmall 注:如何自己上传一个呢? 这个在后面会讲解如何自己制作和上传。 通过pull 命令, pull 就是拉取的意思,指的是把镜像从服务器上拉到 Docker 本地。 拉到本地之后,再把这个镜像激活,所谓的激活,就是把他 run 起来。 用的命令就是 运行镜像 中的 run 命令。 docker run -dit --privileged -p21:21 -p80:80 -p8080:8080 -p30000-30010:30000-30010 --name how2jtmall how2j/tmall:latest /usr/sbin/init 这个命令看着长,其实不难,我挨个挨个来给大家分解 docker run 表示运行一个镜像 -dit 是 -d -i -t 的缩写。 -d ,表示 detach,即在后台运行。 -i 表示提供交互接口,这样才可以通过 docker 和 跑起来的操作系统交互。 -t 表示提供一个 tty (伪终端),与 -i 配合就可以通过 ssh 工具连接到 这个容器里面去了 --privileged 启动容器的时候,把权限带进去。 这样才可以在容器里进行完整的操作 -p21:21 第一个21,表示在CentOS 上开放21端口。 第二个21 表示在容器里开放21端口。 这样当访问CentOS 的21端口的时候,就会间接地访问到容器里了 -p80:80 和 21一个道理 -p8080:8080 和21 一个道理,在本例里,访问的地址是 http://192.168.84.128:8080/tmall/, 这个 192.168.84.128 是CentOS 的ip地址,8080是 CentOS 的端口,但是通过-p8080:8080 这么一映射,就访问到容器里的8080端口上的 tomcat了 -p30000-30010 和21也是一个道理,这个是ftp用来传输数据的 --name how2jtmall 给容器取了个名字,叫做 how2jtmall,方便后续管理 how2j/tmall:latest how2j/tmall就是镜像的名称, latest是版本号,即最新版本 /usr/sbin/init: 表示启动后运行的程序,即通过这个命令做初始化
所谓的进入容器,就是进入启动的 运行Tomcat的Linux。
进入办法: docker exec -it how2jtmall /bin/bash 进去之后,就可以像操作一个普通 linux 那样操作了,如图所示执行 ls 命令
到目前位置,我们建立了如下概念:
仓库: 别人做好的现成的镜像,都放在仓库里 镜像: 自己要用哪个镜像,就先拉到本地来。镜像就相当于还没激活的容器。 容器: 容器就是跑起来的镜像,就是一个完整的工作环境
之后,就会对镜像,容器等进行管理工作,介绍其他相关的命令了
HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。
问答区域
2021-06-23
工具和中间件-docker-概念理解
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2020-08-26
21端口和30000-30010端口与ftp好像有冲突
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2019-08-22
站长的镜像仓库打不开
2019-06-19
docker和git的区别?
2019-05-21
exit退出容器
提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 1 条以前的提问,请 点击查看
提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
|