Docker入门

简介: Docker入门

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。


如果你对Docker感兴趣,那么你现在可以继续往下翻了。

640.png


https://github.com/moby/moby


在使用Docker之前你需要有一点Linux对基础,关于Linux的基础我之前的文章有讲过,就不再细说了。


关于Docker的使用场景

一般是以下的场景:

1、web网站的自动化应用(打包,发布等)

2、自动化测试

3、持续继承,发布

4、在特定环境中部署后台应用,例如数据库等等


为什么使用Docker?

1、使程序更加简单化

开发者可以直接将自己的成果放入Docker中进行管理。

2、节省开支

性能好,价格低廉。


Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。

Docker 容器通过 Docker 镜像来创建。

容器与镜像的关系类似于面向对象编程中的对象与类。

Docker 面向对象
容器 对象
镜像



640.jpg



下面介绍Docker里面的几个概念


Images

用于创建 Docker 容器的模板。


Container

container是独立运行的一个或一组应用


Client

执行Docker命令的东西,可以是Docker的API,也可以是Docker客户端

用它来控制Docker。


Registry

这也就是仓库,用来保存Images


Docker Machine

一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker


Docker的安装

小编使用的是阿里云的Ubuntu镜像,所以这里介绍的是Ubuntu环境的Docker安装。


1.获取Docker最新的安装包

$curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -


2.安装所需要的包

sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual


3.添加使用 HTTPS 传输的软件包以及 CA 证书

sudo apt-get update

sudo apt-get install apt-transport-https ca-certificates


4.添加GPG密钥

sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D


5.添加软件源

echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list


6.添加成功后更新软件包缓存

sudo apt-get update


7.安装docker

sudo apt-get install docker-engine


8.启动Docker服务

$sudo systemctl enable docker

$sudo systemctl start docker


9.运行Docker

$ docker run HelloWorld



如何使用Docker

640.jpg


输入docker可以查看所有的命令选项。

如果想知道某条命令的使用方法可以输入 docker xxx --help


例如我想看build的用方法:

docker build --help


640.jpg


运行一个web应用

将应用拉过来

$docker pull training/webapp

运行

$docker run -P training/webapp python app.py

参数说明:

-p,将container中使用的端口映射到主机上

还可以加其他参数,例如 -d,让container在后台运行

-l,将目标数据设置在container上


如果需要检查web应用程序,可以使用 docker inspect 来查看 Docker 的底层信息


停止web程序的container:

$docker stop xxxxx


启动web程序的container:

$docker start xxxxx


删除这个不需要的container:

$ docker rm xxxxx




关于Docker中的Images:

可以使用docker images来秀出主机上的images(镜像)。

640.png


REPOSITORY:表示镜像的仓库源

TAG:镜像的标签

IMAGE ID:镜像ID

CREATED:镜像创建时间

SIZE:镜像大小


同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,如ubuntu仓库源里,有15.10、14.04等多个不同的版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。


如果需要创建一个心动镜像可以通过pull命令来拉一个新镜像:

docker pull ubuntu:13.10

docker pull httpd


我们还可以使用build指令从零开始创建一个新的镜像

但是在执行build指令之前,我们需要创建一个Dockerfile文件,在这个文件里面是一些配置,告诉Docker要创建怎样的一个镜像。


640.png

每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的。

第一条FROM,指定使用哪个镜像源

RUN 指令告诉docker 在镜像内执行命令,安装了什么

然后,我们使用 Dockerfile 文件,通过 docker build 命令来构建一个镜像。



初步的内容就到这里了


相关文章
|
2月前
|
关系型数据库 MySQL Java
Docker Compose详细教程(从入门到放弃)
Docker Compose详细教程(从入门到放弃)
235 0
|
15天前
|
存储 虚拟化 数据中心
|
3天前
|
Ubuntu 应用服务中间件 Shell
Docker入门
Docker入门
19 0
|
5天前
|
存储 Ubuntu Linux
Docker 从入门到实践:Docker介绍
Docker 从入门到实践:Docker介绍
|
7天前
|
应用服务中间件 持续交付 nginx
【Docker专栏】Docker入门指南:快速构建你的第一个容器
【5月更文挑战第7天】Docker 入门指南:容器化应用利器。了解 Docker 核心概念——镜像、容器和仓库。安装 Docker 后,运行官方 `hello-world` 验证安装,再尝试运行 `nginx` Web 服务器。通过端口映射访问容器内服务,学习管理容器命令。创建自定义镜像,编写 Dockerfile,实现 Python Web 应用容器化。Docker 助力高效开发与运维,探索更多自动化部署与微服务场景。
【Docker专栏】Docker入门指南:快速构建你的第一个容器
|
14天前
|
安全 Linux 数据库
Docker 入门详解
通过遵循这些步骤,你将能够快速入门 Docker 并开始探索容器化的世界,关注 V 哥,技术之路一起成长。
|
19天前
|
存储 Apache Swift
无限套娃_docker入门(镜像、容器、仓库)
无限套娃_docker入门(镜像、容器、仓库)
31 0
|
19天前
|
Linux 虚拟化 Docker
docker入门
docker入门
23 2
|
19天前
|
存储 运维 Docker
Docker从入门到精通:Docker 容器数据卷详解
Docker 数据卷是持久化容器数据的关键机制,允许跨容器或主机共享,即使容器删除数据仍保留。创建数据卷可通过命令行或容器启动时指定,挂载到容器目录以读写。使用 `docker volume` 命令可管理数据卷,适用于持久化存储、数据共享及备份场景。了解和善用数据卷能优化 Docker 应用程序的运维。
23 0
|
20天前
|
监控 Docker 容器
Docker从入门到精通:Docker log 命令学习
了解 Docker 日志管理对容器监控至关重要。`docker logs` 命令用于查看和管理容器日志,例如,`docker logs <container_name>` 显示容器日志,`-f` 或 `--follow` 实时跟踪日志,`--tail` 显示指定行数,`--timestamps` 添加时间戳,`--since` 按日期筛选。Docker 支持多种日志驱动,如 `syslog`,可通过 `--log-driver` 配置。有效管理日志能提升应用程序的稳定性和可维护性。
17 0