2.docker基础用法
一、前言
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基础用法的更多相关文章
- Docker基础用法篇
Docker基础用法篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装docker 1>.依赖的基础环境 64 bits CPU Linux Kerner 3.10+ ...
- Docker 学习2 Docker基础用法
一.docker架构 1.client端 2.server端,docker daemo守护进程,监听在套接字之上.docker支持三种类型套接字. a.ip vs套接字:即IP + 端口套接字 b.i ...
- 2、Docker基础用法
容器镜像:https://hub.docker.com/ Docker架构图: https://ruby-china.org/topics/22004 Docker使用客户端-服务器(client- ...
- docker第二篇 Docker基础用法
Docker中的容器 lxc -> libcontainer -> runC OCI (Open Container Initiative) 由Linux基金会主导于2015年6月创立 作 ...
- docker基础用法
docker 架构: docker 安装前期准备: 安装centos7 ,不要在centos6 [root@node01 yum.repos.d]# uname -a Linux node01 -. ...
- Docker基础教程
一.Docker是什么? KVM, Virtualbox, Vmware是虚拟出机器,让每个实例看到一个单独的机器:而Docker是虚拟出操作系统,实现应用之间的隔离,让各个应用觉得自己有一个自己的操 ...
- Docker 安装和基础用法
理解Docker(1):Docker 安装和基础用法 本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 ...
- Docker系列03—Docker 基础入门
本文收录在容器技术学习系列文章总目录 1.概念介绍 1.1 容器 1.1.1 介绍 容纳其它物品的工具,可以部分或完全封闭,被用于容纳.储存.运输物品.物体可以被放置在容器中,而容器则可以保护内容物. ...
- 【补充】docker基础学习
docker 基础知识 之前写了一篇docker未授权访问的文章,现在来补充一下docker基础知识,以便更好的学习docker上的漏洞. docker是一款轻量级的虚拟化的产品,它属于层级化的架构. ...
随机推荐
- A 内存挂 B 封包挂 C 钩子挂 D CALL挂 外挂
https://www.zhihu.com/question/32291769 作者:猎狐链接:https://www.zhihu.com/question/32291769/answer/70929 ...
- Android下Native的so编译:使用cmakelists.txt
android studio的CMakeLists.txt写好后,在Studio中编译没问题,在命令编译时则需要配置很多参数才能成功 示例CMakeLists.txt文件: cmake_minimum ...
- Golang基础(1):Go数据类型和变量
一:Go数据类型 1.1 Go语言按照分类有以下几种数据类型 布尔型 布尔型的是一个常量true或者false 数字类型 整型int和浮点型 float32, float64 字符串类型 字符串就是一 ...
- CSS3——提示工具 图片廓 图像透明 图像拼接技术 媒体类型 属性选择器
提示工具 提示框在鼠标移动到特定的元素上显示 设置提示框的位置 给提示框添加箭头 提示框的淡入效果 提示框美化 图片廓 响应式图片廓 图像透明 创建透明图像——悬停效果 ———鼠标放置后———> ...
- Slience is the sleep that nourishes wisdom
cumulative: 积聚的 lag. v. 落后 backfire. n. 事与愿违 segregated. adj. 分隔的 back-and-forth: 来回地 initiative. ad ...
- Hello World!----html
最近要做一个小网站,今晚想起来还是先看看前端终于抑制住惰性,开始看了. 看了一下html,写了个hello world.老实讲,我竟然还有些小激动 <html> <hea ...
- Chapter03 第一节 简单变量
3.1 简单变量 定义一个变量后,系统根据变量类型的不同在内存的不同区域分配一个空间,将值复制到内存中,然后用户通过变量名访问这个空间. 3.1.1 变量名 变量名的命名规则: 只能使用字母.数字.下 ...
- 【Qt开发】状态栏设置
1.在Qt 里面,状态栏显示的信息有三种类型:临时信息.一般信息和永久信息. 其中,临时信息指临时显示的信息,比如QAction 的提示等,也可以设置自己的 临时信息,比如程序启动之后显示Read ...
- openstack镜像服务(glance)
1.Use the database access client to connect to the database server as the root user: $ mysql -u root ...
- Linux——临界段,信号量,互斥锁,自旋锁,原子操作
一. linux为什么需要临界段,信号量,互斥锁,自旋锁,原子操作? 1.1. linux内核后期版本是支持多核CPU以及抢占式调度.这里就存在一个并发,竞争状态(简称竟态). 1.2. 竞态条件 发 ...

