本人报名了一个培训机构,希望可以在3个月学到可以工作的东西
假设我是你即将到来且不可拒绝的同事,你希望我能学到哪些知识才不会拖你的后腿。
希望大佬们,告诉我哪些东西,我希望我出来之后,不是那种被讨厌的培训程序员。
帖子会一直写到培训结束找到工作。
感谢!!!
文章目录
4.19日 Docker
Docker 是一个开源的应用容器引擎。
Docker 使用 Google 公司推出的 Go 语言进行开发实现,基于 Linux 内核,对进程进行封装隔离,属于操作系统层面的虚拟化技术。
由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。
为什么要使用Docker?
- 占用磁盘资源小
- 启动速度快,节约了开发、测试、部署的时间
- 可以使开发环境、测试环境、生产环境一致,生产环境测试及BUG重现容易
- 运维一次搭建环境,多次重复使用;使应用的迁移更加容易
- 有高质量的官方镜像,也可以作为基础进一步定制
Docker三要素
- 镜像(Image)
- 容器(Container)
- 仓库(Repository)
1. 镜像(image)
Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。
是软件。
镜像不包含任何动态数据,其内容在构建之后也不会被改变。
Docker 镜像是用于创建 Docker 容器的模板。
举个小例子:
镜像-类似网上下载下来的软件安装包,一个镜像通常只包含一个应用。
例如:linux上原本没有mysql数据库的,下载一个mysql的镜像,运行成容器,linux上就有mysql软件了,而且不用做任何的配置,直接就能用。等到mysql不用了,直接删除容器,linux恢复如新。
2. 容器(container)
镜像(Image)和 容器(Container)的关系,就像是面向对象程序设计中的 类 和 实例 一样,镜像是静态的定义,容器是镜像运行时的实体。
容器内的进程是运行在一个隔离的环境里的,就像独立于宿主机的另一台机器。
所有容器的文件写入操作,都应该使用 数据卷(Volume)、或者绑定宿主目录。
镜像是安装包,容器是运行起来的软件
容器时linux独有的
3. 仓库(Repository)
仓库是一个提供集中的存储、分发镜像的服务站。
Docker仓库分为公有和私有。
公有的Docker仓库是 Docker Hub。
它是Docker 官方维护的,其中已经包括了数量超过 15,000 的镜像。 https://hub.docker.com/
4. Docker Registry
一个 Docker Registry 中可以包含多个仓库(Repository);
每个仓库可以包含多个标签(Tag);
每个标签对应一个镜像。
2. 查看Docker的版本号
命令:
docker version
小提示:
企业工作环境中,Docker会由公司的系统管理员统一安装。
但你可以多了解学习一点。(实训平台请勿重新安装)
方法1:Docker 使用官方的安装脚本安装。
命令:
curl -fsSL https://get.docker.com/ | sh
参数说明: -f 连接失败时不显示http错误
-s 静音模式,不输出任何东西
-S 显示错误
-L 跟随重定向
任务4:镜像的操作
1. 查找镜像
命令: docker search php
2. 拉取镜像
命令: docker pull php
在本地主机上使用一个不存在的镜像时 Docker 就会自动下载这个镜像。如果想预先下载这个镜像,可以使用这个命令。不指定版本, 会获取latest 镜像。
3. 离线拉取镜像
(1)实训平台上已预先放好一些离线的镜像文件,在/home目录下
这些镜像是使用docker save命令,将指定镜像保存成 tar 归档文件的。
(2)在桌面上右键,打开终端命令执行窗口
(3)执行如下命令:
docker load < /home/centos-lamp.tar
导入使用 docker save 命令导出的镜像。
docker tag 0b8d572d1c7d nickistre/centos-lamp
标记本地镜像,也就是为其取一个名字
4. 列出本机镜像
命令:docker images
- REPOSITORY:表示镜像的仓库源
- TAG:镜像的标签
- IMAGE ID:镜像ID
- CREATED:镜像创建时间
- SIZE:镜像大小
任务5:Docker 容器操作
1. 命令:docker run 镜像名
(1)守护式运行:
命令:docker run -d 镜像名
参数:-d 让容器在后台运行,创建守护式容器
(2)交互式运行:
命令:docker run -it 镜像名 /bin/bash
参数: · -i 让容器的标准输入保持打开,交互模式下可通过创建的终端来输入命令
· -t 让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上
· /bin/bash 在容器中打开一个shell终端
2 . 容器的标准使用过程
(1)检查本地是否存在指定的镜像,不存在就从公有仓库下载 (2)利用镜像创建并启动一个容器 (3)分配一个文件系统,并在只读的镜像层外面挂载一层可读写层 (4)从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去 (5)从地址池配置一个 ip 地址给容器 (6)执行用户指定的应用程序 (7)执行完毕后容器被终止
3. 查看容器的状态
命令: docker ps –a
状态:
· Exited 是停止的容器
· Up 是正在运行的容器
4. 重启容器
命令1:docker container start 容器ID
命令2:docker container restart 容器ID
注:docker container restart 命令会将一个运行态的容器终止,然后再重新启动它。
5. 重新进入容器
命令: docker exec -it 容器号 /bin/bash
注:此命令用于已运行的容器。
6. 停止容器
命令:docker container stop 容器号
7. 删除容器
命令:docker container rm 容器号
注:只能删除已停止的容器。
任务6:Docker帮助
命令: docker command --help