docker概述及基础操作
docker概述
容器技术已经成为应用程序封装和交付的核心技术
容器技术的核心有以下几个内核组成
CGroups-资源管理
NamsSpace-进程管理
SElinux-安全
由于是在物理机上实施隔离,启动一个容器,可以像启动一个进程一样快速
docker是完整的一套容器管理系统,提供了一组命令,绕过用户更加方便直接的使用容器技术
不需要过多关系底层内核技术
优点:相对于传统的虚拟化技术,容器更加简洁高效,传统虚拟机需要给每个vm安装操作系统
容器使用共享库和程序
缺点:容器的隔离性没有虚拟化强,共用Linux内核,安全性有先天缺陷
selinux难以驾驭,监控容器和容器排错是挑战
docker基本概念
镜像:在docker中容器是基于镜像启动的,镜像是启动容器的核心
镜像采用分层设计,使用快照的cow技术,确保底层数据不丢失
查看镜像用docker images ,官方提供的镜像仓库https://hub.docker.com
镜像命令列表
docker images(查看镜像列表)
docker history(查看镜像制作历史)
docker inspect(查看镜像详细信息)
docker pull(下载镜像)
docker push(上传镜像)
docker rmi(删除本地镜像)
docker save(镜像另存为tar包)
docker load(使用tar包导入)
docker search(搜素镜像)
docker tag(修改镜像名称和标签)
容器命令列表
docker run(运行容器)
docker ps(查看容器列表)
docker start/stop/restart(启动/停止/重启容器)
docker attach(进入容器)
docker exec(进入容器)
docker inspect(查看容器详细信息)
docker top(查看容器进程列表)
docker rm(删除容器)
docker create -it centos(create创建一个容器而 不启动)
docker安装(需要64位的操作系统,强烈推荐centos7以上的版本,关闭iptables)
[root@x ~]# rpm -ivh docker-engine
[root@x ~]# rpm -ivh docker-engine-selinux或者直接yum -y install docker
[root@x ]# systemctl start docker(启动服务)
[root@x ]# docker version (查看docker信息)
Client:
Version: 1.12.6
API version: 1.24
Package version: docker-1.12.6-68.gitec8512b.el7.centos.x86_64
Go version: go1.8.3
Git commit: ec8512b/1.12.6
Built: Mon Dec 11 16:08:42 2017
OS/Arch: linux/amd64
Server:
Version: 1.12.6
API version: 1.24
Package version: docker-1.12.6-68.gitec8512b.el7.centos.x86_64
Go version: go1.8.3
Git commit: ec8512b/1.12.6
Built: Mon Dec 11 16:08:42 2017
OS/Arch: linux/amd64
镜像操作
[root@x ]# docker search xx(搜索镜像)
[root@x ]# docker pull xx(下载镜像)
[root@x ]# docker push xx(上传镜像)
[root@x ]# docker images(查看镜像库)
[root@x ]# docker rmi xx(删除镜像)
[root@x ~]# docker load < xx.tar(导入镜像,通过tar包文件导入镜像)
[root@x ~]# docker save image_name > x.tar(导出镜像,将本地镜像到出为tar文件)
容器操作
[root@x ~]# docker run -itd centos(启动交互式容器,并在后台运行)
[root@x ]# docker stop container id(停止容器)
[root@x ]# docker rm container id(删除容器)
[root@x~]# docker ps -a(查所有容器)
[root@x~]# docker ps -l(查看在运行的容器)
[root@x~]# docker attach container id bash(进入在运行的容器,退出是会关闭容器)
[root@x~]# docker exec container id bash(进入在运行的容器,退出不会关闭容器,execl后面不加bash可能会报错)
实例:
[root@x docker]# docker pull docker.io/nginx
[root@x docker]# docker pull docker.io/mysql/mysql-server
[root@x docker]# docker pull docker.io/php
[root@x docker]# docker pull docker.io/tomcat
[root@x docker]# docker pull docker.io/centos
[root@x ~]# docker run -itd centos(在后台运行)
[root@x ~]# docker ps -a(查看信息)
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cfe74af0de3e centos "/bin/bash" 14 seconds ago Exited (0) 13 seconds ago sleepy_snyder
[root@x ~]# docker attach cfe74af0de3e (进入容器)
[root@x ~]# docker stop cfe74af0de3e(停止容器)
cfe74af0de3e
[root@x ~]# docker rm cfe74af0de3e(删除容器,正在运行的容器先停止在删除)
cfe74af0de3e
[root@x ~]# docker rm $(docker ps -qa)(容器太多时可以用脚本删除)
docker概述及基础操作的更多相关文章
- docker入门之基础操作
docker,我们可以把docker当作是简单的虚拟机.但这个虚拟机不像vm一样安装系统.所以我们又称之为容器.你可以理解成,容器就是虚拟机 docker与vm的对比 vmware:下载镜像——安装系 ...
- docker入门2:基础操作(1)
-- 列出所有的容器 docker ps -a (没有-a就是只列出启动的) -- 开启/关闭/移除容器 docker start|stop|rm CONTAINER_ID|CONTAINER_NA ...
- docker安装和基础操作
docker安装 yum install docker 配置镜像下载加速器 curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh ...
- docker入门3:基础操作(2)
-- 容器删除 docker rm CONTAIN_ID|CONTAIN_NAME -- 镜像删除 docker rmi IMAGE_ID|IMAGE_NAME -- 进入容器 docker exec ...
- 二、Docker基础操作
原文:二.Docker基础操作 一.下载镜像 命令:docker pull xxxxxx(镜像名) docker pull training/weapp 二.运行镜像 docker run -d -P ...
- Docker基础操作
安装 ubuntu16.04安装docker sudo apt-get update sudo apt-get install docker sudo apt-get install docker.i ...
- Docker 安装和基础用法
理解Docker(1):Docker 安装和基础用法 本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 ...
- 1、Docker概述与安装
1.Docker概述 原文地址:https://docs.docker-cn.com/engine/docker-overview/#docker-engine Docker是一个开发,集装,运行应用 ...
- Docker 简介与shell操作使用
一.Docker概述 1.Docker简介 Docker是一个开源的应用容器引擎:是一个轻量级容器技术:Docker支持将软件编译成一个镜像:然后在镜像中各种软件做好配置,将镜像发布出去 ...
随机推荐
- MVC 公共类App_Code不识别
.Net MVC需要写公共类的时候 右击添加 App_Code 文件夹,新建类—>右击类—>属性,生成操作 —>选择 —>编译 .net MVC项目本身是个应用程序,所以其实不 ...
- js中的webworker
js中的webworker webworker的作用类似于java的多线程 以独立文件的形式运行webworker index.html <!DOCTYPE html> <html ...
- 恒创科技 基于openStack云主机
https://www.henghost.com/cloud-vps.shtml?s=gg&gclid=CKaXuOyr79UCFY-TvQodMJ8BCw
- dubbo学习 一 dubbo概述
1,背景 1,网站刚开时候的时候可能所有的功能业务都在一个应用里面 2,当业务不断复杂,流量不断增多的时候,就需要将原先的一个应用划分成多个独立的应用. 3,当分出来的业务越来越多的时候,应用 ...
- 去掉字符串中的html标签
public static string removeHtml(string html) { System.Text.RegularExpressions.Regex regex1 = new Sys ...
- wordpress 学习笔记
(1) __()函数 function __( $text, $domain = 'default' ) { return translate( $text, $domain ); } 返回一个字符串 ...
- webpack4+vue2+axios+vue-router的多页+单页混合应用框架
VUE2的单页应用框架有人分享了,多页应用框架也有人分享了,这里就分享一个单页和多页的混合应用框架吧,初现雏形,还有很多需要优化和改善的地方... 结尾有github地址. 项目结构 │ ├─buil ...
- mysql之数据类型以及操作数据表
数据类型: 数据类型是指列.存储过程的参数.表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型. ———————————————————————————————————————— ...
- java基础之io流总结一:io流概述
IO流概念: 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.io流是实现输入和输出的基础,可以方便的实现数据的输入和输出操作. IO流的分类: 根据处理数据类型的不同分为:字符流 ...
- linux设置rsync+inotify实时同步文件
linux设置rsync+inotify实时同步文件 应用场景: 同步接收方:test01 接收目录:/opt/software/test/a/ 同步发起方:test02 同步目录:/opt/so ...