一、RunC

  RunC是一个由OCI(Open Container Initiative)制定的标准化轻量容器运行工具。OCI是专门致力于制定容器格式和运行时开放的工业化标准的组织。那容器标准化后Docker和RunC有什么关系和区别呢?OCI 定义了容器运行时标准,runC 是 Docker 按照开放容器格式标准(OCF, Open Container Format)制定的一种具体实现。runC 是从 Docker 的 libcontainer 中迁移而来的,实现了容器启停、资源隔离等功能。Docker 默认提供了 docker-runc 实现,事实上,通过 containerd 的封装,可以在 Docker Daemon 启动的时候指定 runc 的实现。简单的说Docker并不完全等同于容器,它更像是一个容器的管理工具。

二、安装Docker

1.Docker依赖的环境:

  64 bits CPU

  Linux Kernel 3.10+

  Linux Kernel cgroups(控制组) namespaces(名称空间)

2.安装Docker

  国外Docker官方的镜像速度可能会很慢,建议使用清华大学提供的镜像进行安装。配置好yum仓库后就能使用yum进行Docker的安装了:

~]# yum install docker-ce

3.Docker镜像的获取

  安装成功后就可以启动Docker了,对于docker-ce,Docker的默认配置文件是一个json格式的文件,默认是不存在的,需要自己来创建,路径为: /etc/docker/daemon.json 。这个配置文件的用处就是配置指定Docker镜像的来源。中国有很多Docker镜像加速源,如docker cn、阿里云、中国科技大学等。若要使用docker cn的加速则创建并修改配置文件并启动Docker:

mkdir -p /etc/docker
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
systemctl start docker.service

4.Docker的常用命令

Usage:  docker [OPTIONS] COMMAND

A self-sufficient runtime for containers

Options:
--config string Location of client config files (default
"/root/.docker")
-D, --debug Enable debug mode
-H, --host list Daemon socket(s) to connect to
-l, --log-level string Set the logging level
("debug"|"info"|"warn"|"error"|"fatal")
(default "info")
--tls Use TLS; implied by --tlsverify
--tlscacert string Trust certs signed only by this CA (default
"/root/.docker/ca.pem")
--tlscert string Path to TLS certificate file (default
"/root/.docker/cert.pem")
--tlskey string Path to TLS key file (default
"/root/.docker/key.pem")
--tlsverify Use TLS and verify the remote
-v, --version Print version information and quit Management Commands:
builder Manage builds
config Manage Docker configs
container Manage containers
engine Manage the docker engine
image Manage images
network Manage networks
node Manage Swarm nodes
plugin Manage plugins
secret Manage Docker secrets
service Manage services
stack Manage Docker stacks
swarm Manage Swarm
system Manage Docker
trust Manage trust on Docker images
volume Manage volumes

  查看docker版本 docker version 和 docker info :

[root@server0 ]# docker version
Client:
Version: 18.09.
API version: 1.39
Go version: go1.10.6
Git commit: 4c52b90
Built: Wed Jan ::
OS/Arch: linux/amd64
Experimental: false Server: Docker Engine - Community
Engine:
Version: 18.09.
API version: 1.39 (minimum version 1.12)
Go version: go1.10.6
Git commit: 4c52b90
Built: Wed Jan ::
OS/Arch: linux/amd64
Experimental: false

  常用命令:

docker search :搜索镜像
docker image pull :将镜像拉到本地
docker image ls :查看镜像列表
docker image rm :删除镜像
docker container create :创建一个容器,不会启动。
docker container run :运行一个容器
docker container ls :显示容器列表
docker container ps :显示正在运行中的容器,-a显示运行和没有运行的。
docker container start :启动一个容器。
docker container stop :停止一个容器。
docker container kill :kill一个容器。
docker container rm :删除一个容器。
docker container inspect :用于获取容器/镜像的元数据
docker log :查看容器日志

  例:拉取一个nginx镜像:

]# docker image pull nginx:1.14-alpine #alpine为最精简版本的意思
]# docker image ls #查看本地镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx 1.14-alpine c5b6f731fbc0 weeks ago .7MB

  PS:Busybox是一个体积很小的linux发行版,有着很独特的性能,可以用它来实现linux上上百个常用命令。

5.运行一个容器

  运行一个容器的命令格式为: docker container run [OPTIONS] IMAGE [COMMAND] [ARG...]

-i :交互式访问。
-t :运行为交互式接口。
-m :为容器取一个名字。
-d :启动后直接运行在后台。

  例1:运行一个busybox镜像的容器:

~]# docker container run --name box1 -it busybox:latest
/ # ls
bin dev etc home proc root sys tmp usr var
/ #

  例2:启动一个nginx容器:

]# docker container run --name nginx1 -d nginx:1.14-alpine
39b443c5cfb1fc81ee605c7e41b718303855efddb2f470ce5297665df2c02d63

  PS:这里一定要注意在容器中跑任何程序一定不能让程序在容器中的后台运行,这相当于启动便终止了容器。

  绕过创建好的nginx容器查看它的状态:

]# docker container exec -it nginx1 /bin/sh

Docker的基本操作与示例的更多相关文章

  1. 【实战】Docker入门实践二:Docker服务基本操作 和 测试Hello World

    操作环境 操作系统:CentOS7.2 内存:1GB CPU:2核 Docker服务常用命令 docker服务操作命令如下 service docker start #启动服务 service doc ...

  2. 用docker搭建测试环境--docker的基本操作

    上一篇文章中最后执行了docker pull centos的指令,经过一段时间的等待,会从hub.docker.com上下载docker官方最新的centos的images,接下来熟悉一下docker ...

  3. Docker 学习基本操作与守护式容器

    Docker 学习基本操作与守护式容器 容器操作 运行容器 docker run --name指定名字 -istdin -ttty虚拟终端 在终端中用 exit 即可退出容器,并结束运行 查看容器 p ...

  4. docker版mysql的使用和配置(1)——docker的基本操作

    最近实在是忙成狗,其他的内容等稍微闲一点了一起更新. 这篇主要是讲docker版的mysql的使用和配置信息.因为实习公司需要搞一个docker做测试环境用,还需要包括基本的依赖.最重要的是,因为这个 ...

  5. Docker的基本操作

    容器基本操作 1.启动容器 $docker run image [COMMAND] [ARG…] run在新容器中执行命令 2.启动交互式容器 $docker run -i -t IMAGE /bin ...

  6. Docker基础入门及示例

    Docker近几年的发展可谓一日千里,特别从是2013年随着一个基于LXC的高级容器引擎开源,到现在,其在linux和windows上都有了很好的支持,并且已经有很多公司将docker用于实际的生产环 ...

  7. Docker 安装&基本操作

    Docker 安装 Docker 中的三个概念:镜像,容器,仓库 镜像(image):Docker 镜像就是一个只读的模板,镜像可以用来创建 Docker 容器.Docker 提供了一个很简单的机制来 ...

  8. Docker 容器基本操作[Docker 系列-2]

    ​Docker 入门及安装[Docker 系列-1] 镜像就像是一个安装程序,而容器则是程序运行时的一个状态. 查看容器 查看容器 启动 docker 后,使用 docker ps 命令可以查看当前正 ...

  9. 基于【 Docker】三 || Docker的基本操作

    一.Docker常用命令 1.搜索镜像:docker search 镜像名称 2.下载镜像:docker pull 镜像名称:版本号 3.查看镜像:docker images 4.删除镜像:docke ...

随机推荐

  1. 基于UML的高校教务管理系统的设计与实现

    一.基本信息 标题:基于UML的高校教务管理系统的设计与实现 时间:2018 出版源:南昌航空大学 领域分类:教育信息化:教务管理系统:UML:SSH:Oracle 二.研究背景 问题定义:高校教务管 ...

  2. Eclipse的application.properties文件输出中文成unicode编码

    今天添application.properties时,无法输入中文,输入的中文直接变成了unicode的编码形式.原因是Eclipse的Spring Properties文件的默认编码为iso-885 ...

  3. document,element,node方法

    document方法: getElementById(id)                             返回指定结点的引用 getElementsByTagName_r(name)    ...

  4. Mysql函数大全以及存储过程、函数、触发器、游标等等

    https://www.cnblogs.com/slowlyslowly/p/8649430.html MySQL大全 存储过程: 基本语法 : create procedure sp_name([[ ...

  5. jQuery获取父级、兄弟节点的方法

    一.jQuery的父节点查找方法 $(selector).parent(selector):获取父节点 $(selector).parentNode:以node[]的形式存放父节点,如果没有父节点,则 ...

  6. 《HTTP权威指南》3-HTTP报文

    报文流 HTTP报文是在HTTP应用程序之间发送的数据块,这些数据块以文本形式的元信息开头,这些信息描述了报文的内容及含义,后面跟着可选的数据部分.这些报文在客户端,服务器和代理之间流动. 报文的组成 ...

  7. 《Java性能调优》学习笔记(1)

    性能的参考指标 执行时间 -- 从代码开始运行到结束的时间 CPU时间 -- 函数或者线程占用CPU的时间 内存分配 -- 程序在运行时占用内存的情况 磁盘吞吐量 -- 描述IO的使用情况 网络吞吐量 ...

  8. CLion之C++框架篇-优化框架,单元测试(二)

    背景   结合上一篇CLion之C++框架篇-安装工具,基础框架的搭建(一),继续进行框架优化!   googletest(GTest)是Google开源的C++测试框架,与CLion组合,对C++环 ...

  9. 【转】vim 的各种用法,很实用哦,都是本人是在工作中学习和总结的

    原文地址https://www.cnblogs.com/lxwphp/p/7738356.html (一)初级个性化配置你的vim 1.vim是什么? vim是Vi IMproved,是编辑器Vi的一 ...

  10. Struts2新漏洞S2-046在线实验环境全球首发

    Strust2 又出现漏洞啦?搞事情啊? 据说S2-046漏洞和S2-045漏洞非常相似,都是由报错信息带入了buildErrorMessage方法造成的, 只是这次存在两个触发点哦!危害嘛,你说嘞? ...