一、前言

OCI(Open Container Initiative):由Linux基金会主导于2015年6月创立,OCI定义了容器运行时的标准。

OCI有两部分组成:

the Runtime Specification:运行时标准

the image Specification:镜像格式标准

OCF(Open Container Format):runC是Docker按照开放容器格式标准(OCF)制定的一种具体实现,runC是从Docker的libcontainer中迁移而来的,实现了容器启停,资源隔离等功能,Docker默认提供了docker-runc实现。

docker-ee:企业版

docker-ce:社区版

二、Docker架构

C-S架构,Docker daemon默认只监听在Unix套接字之上,可修改配置文件来监听tcp端口。

docker client – docker daemon – docker registries

客户端(docker run |create等)通过httpd或https和一个运行了docker host守护进程的主机(docker daemon)通信。docker daemon接收到了客户端的创建或启动容器的命令后,将在本地查找镜像创建或启动容器(在一个docker host上可以启动多个容器)。如果本地没有镜像,docker host会连接到配置的远程Registry(默认Registry是Docker Hub,默认使用https协助)上下载镜像到本地的一个专用的文件系统(在docker1.18使用的是overlay2,之前使用的是aufs/btrfs/lxc)。而后开始根据客户端命令创建或运行容器。

Registry:提供镜像存储的仓库功能;提供用户获取镜像时的认证功能;提供当前服务器上所有可用镜像的所有索引。一个docker镜像仓库(repository)只放一个应用程序,仓库名就是应用程序名,用仓库名和标签来标识唯一一个镜像,默认标签名为latest。一个Registry拥有很多个仓库(Repository)。

镜像是静态的,而容器是具有生命周期的。

镜像是不可修改的,只能重构。

三、基础使用

1、安装和使用

依赖的基础环境:64bit CPU,Linux Kernel 3.10+,Linux Kernel namespace and Cgroups

CentOS7的Extras Repository有docker,但不建议使用,因为版本太老了。

docker-ce默认使用的配置文件:/etc/docker/daemon.json

docker镜像加速:docker cn、阿里云加速器、中国科技大学加速器,写入配置文件即可。

更换镜像和安装:

[root@oracle ~]# wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
[root@oracle ~]# sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
[root@oracle ~]# yum install docker-ce –y

配置镜像加速器:

[root@oracle ~]# mkdir /etc/docker
[root@oracle ~]# tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"]
}
EOF
[root@oracle ~]# systemctl daemon-reload
[root@oracle ~]# systemctl restart docker

验证:

[root@oracle ~]# docker version
[root@oracle ~]# docker info
[root@oracle ~]# systemctl status docker

2、常规操作

[root@node1 ~]# docker --help
Management Commands:
builder Manage builds
config Manage Docker configs
container Manage containers
context Manage contexts
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
等等

(1)镜像相关

[root@oracle ~]# docker search nginx
[root@oracle ~]# docker image pull nginx:1.14-alpine
[root@oracle ~]# docker image rm busybox
[root@oracle ~]# docker image ls --no-trunc
[root@oracle ~]# docker image ls
[root@oracle ~]# docker image --help

(2)容器相关

[root@oracle ~]# docker container –help
[root@oracle ~]# docker run --name busybox -it busybox:latest
[root@oracle ~]# docker run --name nginx -d nginx:1.14-alpine
[root@oracle ~]# docker ps -a
[root@oracle ~]# docker container ls -a [root@oracle ~]# docker container inspect busybox
[root@oracle ~]# docker container start 5ac7a0330407
[root@oracle ~]# docker container attach busybox #在终端里detach:先按ctrl+p;再按,ctrl+q
[root@oracle ~]# docker container logs nginx
[root@oracle ~]# docker run --name redis -d redis:
[root@oracle ~]# docker container exec -it redis /bin/sh
[root@oracle ~]# docker container exec -it redis redis-cli

(3)网络相关

[root@oracle ~]# docker network --help
[root@oracle ~]# docker network ls

3、docker容器的各状态转换与常用命令

2.docker基础用法的更多相关文章

  1. Docker基础用法篇

    Docker基础用法篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装docker 1>.依赖的基础环境 64 bits CPU Linux Kerner 3.10+ ...

  2. Docker 学习2 Docker基础用法

    一.docker架构 1.client端 2.server端,docker daemo守护进程,监听在套接字之上.docker支持三种类型套接字. a.ip vs套接字:即IP + 端口套接字 b.i ...

  3. 2、Docker基础用法

    容器镜像:https://hub.docker.com/ Docker架构图:  https://ruby-china.org/topics/22004 Docker使用客户端-服务器(client- ...

  4. docker第二篇 Docker基础用法

    Docker中的容器 lxc -> libcontainer -> runC OCI (Open Container Initiative) 由Linux基金会主导于2015年6月创立 作 ...

  5. docker基础用法

    docker 架构: docker 安装前期准备: 安装centos7 ,不要在centos6  [root@node01 yum.repos.d]# uname -a Linux node01 -. ...

  6. Docker基础教程

    一.Docker是什么? KVM, Virtualbox, Vmware是虚拟出机器,让每个实例看到一个单独的机器:而Docker是虚拟出操作系统,实现应用之间的隔离,让各个应用觉得自己有一个自己的操 ...

  7. Docker 安装和基础用法

    理解Docker(1):Docker 安装和基础用法 本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 ...

  8. Docker系列03—Docker 基础入门

    本文收录在容器技术学习系列文章总目录 1.概念介绍 1.1 容器 1.1.1 介绍 容纳其它物品的工具,可以部分或完全封闭,被用于容纳.储存.运输物品.物体可以被放置在容器中,而容器则可以保护内容物. ...

  9. 【补充】docker基础学习

    docker 基础知识 之前写了一篇docker未授权访问的文章,现在来补充一下docker基础知识,以便更好的学习docker上的漏洞. docker是一款轻量级的虚拟化的产品,它属于层级化的架构. ...

随机推荐

  1. FreeBSD上安装Cassandra 3.10

    哈哈,你居然点进来了,来吧,一起吐槽FreeBSD啊,装了一上午Cassandra 3.10都没有装成功, 终于,鄙人一条 shutdown -p now 结束了FreeBSD,默默打开了CentOS ...

  2. 未解决:found 1 high severity vulnerability run `npm audit fix` to fix them, or `npm audit` for details

    问题出现: 在通过 `ng new hello-world` 命令新建项目时,项目出现以下警告: found high severity vulnerability run `npm audit fi ...

  3. WIN10重启后,在任务栏下添加快捷工具栏消失问题修复

    WIN10重启后,在任务栏下添加快捷工具栏消失问题修复 可以在windows 设置 - - 设备 - - 输入 - - 高级键盘设置 - - 不要勾选 <使用桌面语言栏(如果可用 )>

  4. spring-mvc 3.* 多视图解析配置实例 ContentNegotiatingViewResolver

    一.起因     从spring 3.1.0升级到spring 3.2.0时,配置文件servlet.xml中出错. 错误信息: java.lang.String cannot be cast to  ...

  5. Matlab——图形绘制——三维立体图形 剔透玲珑球 动态图——彗星状轨迹图

    三维绘图函数 三维绘制工具 函数view 实例:三维螺旋线 >> t=:pi/:*pi; plot3(sin(t),cos(t),t) grid %添加网格  plot3可以画出空间中的曲 ...

  6. 用matplotlib对数据可视化

    下图是要用到的数据集,反映了从1984到2016年的失业率的变化 1.导入可视化模块import matlibplot.pyplot as plt, 函数plt.plot(x, y)确定折线图的点,x ...

  7. Git 创建分支并合并主分支

    首先,我们创建dev分支,然后切换到dev分支: $ git checkout -b dev(等价于 $ git branch dev $ git checkout dev ) Switched to ...

  8. Tomcat进程、SFTP服务器

    查看Tomcat是否以关闭 ps -ef|grep tomcat port sftp -oPort=60001 root@192.168.0.254

  9. windows下重启nginx

    参考:从零学nginx-windows下reload配置无效及如何重启 因为Nginx是多进程模型,有一个主进程和多个子进程,主进程只负责管理子进程,基本的网络事件由各个子进程处理. 所以有时候当我们 ...

  10. C++中的const分析

    1,C 语言中的 const: 1,const 修饰的变量是只读的,本质还是变量: 1,C 语言中的 const 使变量具有只读属性: 2,const 只在编译期有用,在运行期无用: 3,const ...