0%

Docker入门篇

容器简介

奔驰车生产好之后,经过集装箱封装,从纽约运送到了上海,开箱后奔驰车可以跑在上海的大街上。
软件在环境A开发好之后,经过集装箱封装,从环境A运送到了环境B,开箱后软件可以跑在环境B。
这种软件集装箱技术,就是容器技术,英文叫做 Linux Container。

容器技术的主要优点是轻量虚拟化(良好的隔离性、高资源利用率)、快捷和可移植性。

起初,容器技术做的最好的就是Docker,Docker也几乎就是容器的代名词,后来CoreOS、Mesos、Containerd也都相继发展壮大。为了统一容器标准,OCI(Open Container Initiative)组织成立了,并于2016年4月推出了第一个开放容器标准,标准主要包括image镜像标准和runtime运行时标准。

Docker简介

Docker是一个开源的容器引擎(管理容器的工具),可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。

应用场景:开发环境搭建、自动化构建、自动化测试、自动化部署。

Docker系统有两个程序:docker服务端和docker客户端。
其中docker服务端是一个服务进程,管理着所有的容器。docker客户端则扮演着docker服务端的远程控制器,可以用来控制docker的服务端进程。大部分情况下,docker服务端和客户端运行在一台机器上。

Docker优点:
Build, Ship and Run.
Build once, run anywhere.

Docker安装

以centos7系统为例。

1、安装yum-utils

1
yum install yum-utils

2、添加docker-ce源

1
2
3
4
# 官方源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 阿里云源,国内更快
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3、更新yum包

1
yum makecache fast

4、安装docker-ce

1
yum install docker-ce

5、启动docker-ce并设置开机启动

1
2
systemctl start docker
systemctl enable docker

helloworld

运行容器

国际惯例,先跑一个helloworld。

1
2
docker pull busybox:1.25
docker run busybox:1.25 echo "helloworld"

docker pull说明

docker pull busybox:1.25 从镜像仓库下载一个名称为 busybox:1.25 的镜像。
等价于 docker pull docker.io/busybox:1.25 ,这是因为docker默认的镜像仓库就是 docker.io

docker run说明

docker run busybox:1.25 echo "helloworld"
busybox:1.25 镜像作为模板启动一个容器,容器中运行echo程序,参数为”helloworld”。
容器启动后,输出了 helloworld ,然后就停止了。这是因为,1号进程(echo进程)停止了,容器也随之停止。

docker镜像运行起来,便会生成一个docker容器。docker容器可以理解为在沙盒中运行的进程,这个沙盒包含了该进程运行所必须的资源,包括文件系统、系统类库、shell环境等等。
这个沙盒默认不会运行任何程序,我们需要指定一个程序在启动容器时运行。这个程序对应的进程是该容器的1号进程,当该进程结束的时候,容器也会完全停止。

Docker常用命令

参考《Docker常用命令》

书签

微信公众号

微信公众号的二维码,文章推送 + 资源分享,一起学习进步。

  • 本文作者: 好好学习的郝
  • 本文链接: https://www.voidking.com/dev-docker-start/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!源站会及时更新知识点及修正错误,阅读体验也更好。欢迎分享,欢迎收藏~