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是一款轻量级的虚拟化的产品,它属于层级化的架构. ...
随机推荐
- eclipse下 hibernate逆向数据库操作示例!!
做项目必然要先进行数据库表设计,然后根据数据库设计建立实体类(VO),这是理所当然的,但是到公司里做项目后,让我认识到,没有说既进行完数据库设计后还要再“自己”建立一变VO.意思是,在项目设计时,要么 ...
- maven setting.xml文件配置详情
1 首先,setting.xml一般存在与两个地方:maven的安装目录/conf/,和${user.home}/.m2/下.他们的区别是在maven安装目录下的setting.xml是所有用户都可以 ...
- win10 iis部署后 浏览目录报错 500.19
错误摘要HTTP 错误 500.19 - Internal Server Error无法访问请求的页面,因为该页的相关配置数据无效.详细错误信息模块 IIS Web Core 通知 BeginReq ...
- 初学node.js-nodejs中实现用户登录路由
经过前面几次的学习,已经可以做下小功能,今天要实现的事用户登录路由. 一.users_model.js 功能:定义用户对象模型 var mongoose=require('mongoose'), S ...
- oracle数据库表空间创建&导入&导出
1.表空间创建 --删除表空间 drop tablespace EVPBDMGIS including contents and datafiles; --删除用户 drop user EVPBDMG ...
- finereport连接mysql8.0的解决办法
1.具体连接操作 首先将mysql-connector-java-8.0以上的jar包放到FindReport安装目录下的webapps下的WEB-INF下的lib下. 打开finereport,找到 ...
- 杭州集训Day4
别问我为什么没有前三天,有时间再补~ 60+60+50=170. T1 . 坐等 memset0 ( 1s 256MB )( 原题:洛谷CF1151E Number of Components ) 树 ...
- 软技能-代码外的生存指南PDF下载
编程只是我们职业生涯中的一部分,我们还需要更多的其他技能 链接:https://pan.baidu.com/s/1d7z_7NCEFT2lsSWO1n-OuA 提取码:zj32 链接失效请留言
- linux的进程间通信概述
一 进程间通信 1.1. linux内核提供多种进程间通信机制 a. 无名管道和有名管道 b. SystemV IPC:信号量.消息队列.共享内存 c. Socket域套接字 d. 信号 1.2. 无 ...
- 安装最新版Elasticsearch报错
1 问题:ERROR: bootstrap checks failed max file descriptors [4096] for elasticsearch process likely too ...