学习网址

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. 常用sql 2018.08.31

    concat()函数 concat(str1, str2,...)功能:将多个字符串连接成一个字符串 返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null. 如:CONCA ...

  2. ubantu中的apache中设置代理

    1.启用代理模块 a2enmod proxy proxy_balancer proxy_http 2.修改 /sites-available/000-default.conf 添加 <Virtu ...

  3. navicat 连接报2059错误

    原因 navicat不支持mysql新版本的加密规则,mysql8 之前的版本中加密规则是mysql_native_password, mysql8之后,加密规则是caching_sha2_passw ...

  4. Vim入门——Windows下安装

    下载页面:https://www.vim.org/download.php Windows选用的是MS-Windows: 下图为展示: 因为最近被墙,镜像貌似没中国内陆地区,因此,选择使用GitHub ...

  5. RN开发-Navigator

    1.在入口组件render方法中返回<Navigator>            let defaultName = 'Welcome';            let defaultCo ...

  6. [CCPC2019秦皇岛] F. Forest Program

    [CCPC2019秦皇岛 F] Link https://codeforces.com/gym/102361/problem/F Description 给定一个仙人掌,删去一些边可以让它变成一个森林 ...

  7. 在多租户(容器)数据库中如何创建PDB:方法1 从种子创建PDB

    基于版本:19c (12.2.0.3) AskScuti 创建方法:从零开始创建一个PDB(从PDB$SEED创建新的PDB) 对应路径:Creating a PDB --> Creating ...

  8. 安装MySQL5.7.22遇到的坑

    安装MySQL: 第一步:将压缩包解压后,手动新建名为my.ini的文本文档,代码内容如下: #代码开始[mysql]default-character-set=utf8[mysqld]#skip-g ...

  9. HDU 2586 ( LCA/tarjan算法模板)

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=2586 题意:n个村庄构成一棵无根树,q次询问,求任意两个村庄之间的最短距离 思路:求出两个村庄的LCA,d ...

  10. APP开发工具如何选?

    随着技术的发展,在当前开发一款APP已经非常的简单和快速.特别是近些年,利用HTML5技术将APP的开发门槛进一步降低.各种开发工具和框架层出不穷,令人眼花缭乱.这么多的工具摆在眼前应该如何进行选择呢 ...