学习网址

https://git.oschina.net/yangllsdev/docker-training
https://docs.docker.com/engine/installation/linux/centos/

docker 基本概念

什么是docker

docker是一个开源的容器技术(lxc)解决方案
效果: 在一台物理机上可以模拟多个操作系统的效果
docker是运行在os上的一个app,将硬件做了逻辑隔离,但是大部分操作系统堆栈都是直接使用的宿主机的

优缺点

优点: 部署快,启动快 --- 秒级
缺点: 不是一个完整的操作系统堆栈,部分功能受限制

docker 使用场景

docker 组成部分

docker client
docker server == docker daemon 的重要组成部分
docker image ---> docker container
docker registry === docker container 的存储仓库

使用方法

编写Dockerfile

FROM
MAINTAINER
ENV
ADD COPY
RUN
EXPOSE
VOLUME # 在docker run -v 使用的时候映射
ENTRYPOINT CMD # 都是在docker run 的时候执行, cmd 可以直接覆盖, entraypoint 要加参数 e.g. --entrypoint /bin/bash
ONBUILD

cmd

使用dockerfile --> docker image
docker build -t registry_url/namespace/centos:7.1 /dockerfile/path
docker images # 查看本地的docker image docker image --> docker container
docker help run
docker run
-it # 交互式的启动
-d # 后台启动,成功后返回container id 一个很长的字符串
-p 22 # 大写P 重启后,前端映射端口会改变
-P 2222:22 # 小写p 只有本container 删除后,前端映射端口才会改变
-e WORDPRESS_DB_USER=admin # set environment variable
docker run -d -p 2222:22 --name base(container name) namespace/centos:7.1
docker run -d # background
docker ps -a # 查看本地当前所有的container 进入交互式的模式
docker exec -it website(container name) /bin/bash
supervisorctl # 查看当前容器运行的服务
exit container:
docker ps -a # show all container info
docker run # create a container
docker start container_name # start container
docker stop container_name # stop container
docker rm -f container_name # delete a container -f can release up status container image:
docker images # show all images info
docker rmi image_id

磁盘映射

效果: 删除docker container , 数据不会删除
场景: 数据库文件 /var/lib/mysql/
方法:
run 参数 -v
docker run -d -p 3306:3306 -v host_dir:container_dir --name container_name image

registry

分类

private registry  server
mirror registry server
sponsor / vendor registry server # 企业私有的,但是docker 公司协助管理 registry server v2 & registry server v1
go 语言替代了 python
上传下载快
内嵌webhook通知系统, 系统状态检查

docker 初识1的更多相关文章

  1. Docker初识

    <Docker--从入门到实践>是Docker技术的入门教程,学习时长两天,现整理关键点如下: 1. 什么是Docker? 轻量级操作系统虚拟化解决方案:Go语言实现:下图很好地说明了Do ...

  2. docker --- 初识

    Docker简介 Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).ba ...

  3. docker 初识之二(简单发布ASP.NET Core 网站)

    在发布ASP.NET Core网站以前,先介绍一下DaoCloud 一个免费的docker云容器服务平台.登陆官方网站,创建一台docker主机,这台主机有120分钟的使用时间,对于鄙人学习使用正好合 ...

  4. 1021 docker初识

    docker与虚拟机相比,没有虚拟化内核,转而使用宿主机的内核.因此docker更轻更快 docker缺点:后端兼容性测试需求.把软件安装在不同的操作系统上进行测试,观察软件运行是否良好. 不能用do ...

  5. Docker初识笔记

    Docker docker说白了就是:环境打包 我们能用docker什么? 1.如果配置好本地的linux环境交接给其他人,很麻烦,交接时要告诉他,装这个装那个,还可能出现问题,那我直接把这个环境放到 ...

  6. Docker 初识之路

    一. 安装配置 1.安装依赖 sudo yum install -y yum-utils device-mapper-persistent-data lvm2   2.设置阿里云镜像源 sudo yu ...

  7. Docker学习のDocker初识

    一.Docker是什么 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然 ...

  8. docker初识-docker安装、基于docker安装mysql及tomcat、基本命令

    一.docker是什么 用go语言开发,开源的应用容器引擎,容器性能开销极低 二.整体架构图 Docker 包括三个基本概念: 镜像(Image):Docker 镜像(Image),就相当于是一个 r ...

  9. Docker 学习应用篇之一: 初识Docker

    Docker 自从2013年以来就非常的火热,无论是从github上的代码活跃度,还是Redhat在RHE6.5中集成对Docker的支持,等等.第一次接触Docker,还是老师给我们介绍的. 1.初 ...

随机推荐

  1. JQ input输入框回车生成标签,可删除,并获取标签的值

    在网上找的,效果如下 html代码 <!DOCTYPE html> <html lang="zh-CN"> <head> <title&g ...

  2. ORACLE10G非归档模式下异机迁库(文件迁移)

    环境信息: 源库 目标库 操作系统 WIN7 WIN SVR 2012 R2 系统盘符 C,D,E,F C,D IP x.x.x.216 x.x.x.112 数据库版本 10.2.0.4.0 - 64 ...

  3. php 文件追加写入

    //追加写入 file_put_contents('xml.text',json_encode($postObj,JSON_FORCE_OBJECT).PHP_EOL,FILE_APPEND);

  4. gulp 对js\css进行md5 加密

    有的服务器为了网站加载速度,会做服务器缓存,这样就会出现代码出现引用地址没变,新代码不生效,而我们又希望新代码可以及时生效,这样我们就需要避免缓存,当然也有很多方法,本文只介绍使用gulp-rev(对 ...

  5. mysql行级锁 select for update

    mysql行级锁 select for update 1.属于行级锁 2.where条件后需要写出明确的索引条件(如果有多个条件,可以建立联合索引) 3.如果其所在的事务提交或者回滚后,或者更新该条数 ...

  6. 全文检索工具elasticsearch和kibana安装

    一.安装elasticsearch 1.拷贝elasticsearch-5.6.4.rpm到/opt目录下「cenos7」 systemctl list-unit-files|grep elastic ...

  7. Oracle体系结构中基本概念,数据库

    在Oracle体系结构中包含了基本概念即Oracle数据库与实例,如果你想要了解Oracle体系结构的话,你就必须要了解这两个基本的概念,以下是文章的具体介绍,望你浏览完以下的内容会有所收获. 数据库 ...

  8. centos python版本升级到3.x

    Linux(CentOS)下将Python的版本升级为3.6.2的方法 1.检查确认系统的相关信息 查看内核版本[root@zstest1 ~]# cat /etc/redhat-release Ce ...

  9. 【转】Error,java对常量池来说字符串xxx的UTF8表示过长的解决及其理解

    做项目,客户端这里自己模拟json数据时,一时没忍住搞得json字符串太长了(idea上大概有600多行吧),这个问题就蹦出来了.老方法直接google.百度然后看到一堆有关String 字符串常量池 ...

  10. 前后端分离构架 与 json ajax简介

    前后端分离 传统开发方式 曾几何时,JSP和Servlet为Java带来了无限风光,一时间大红大紫,但随着互联网的不断发展,这样的开发方式逐渐显露其弊端,在移动互联网炙手可热的今天,应用程序对于后台服 ...