1. Docker Basic
安装docker(在/etc/selinux/config文件中设置selinux=disabled,否则安装时会报错)
curl -ssL http://get.docker.io/ | sh
 
启动docker,设置为开机启动
systemctl start docker
systemctl enable docker
 
ps: coreos-vagrant
 
docker有30个命令,可以用 man docker <command>查看各个命令的帮助文件
下面是一些常用命令:
docker pull 从一个仓库拉取镜像到另一个仓库(hello-world, busybox, alpine)
  eg. docker pull hello-world
docker images 列出本地仓库中的镜像
  eg.  docker images | grep he
docker run 启动容器  
  eg. docker run -it --rm --name first-con hello-world  用hello-world镜像创建名为first-con的容器,稍后删除该容器
  eg. docker run -it --name busybox busybox sh  用busybox镜像创建名为busybox的容器,并进入该容器
 
设置为忽略证书验证
vim /etc/systemd/system/multi-user.target.wants/docker.service文件中的以下位置,添加粗体字部分的参数
ExecStart=/usr/bin/docker daemon -H fd:// --insecure-registry 0.0.0.0/0
重新加载组件
systemctl daemon-reload
重启docker服务
systemctl restart docker
 
2. 使用Dockerfile构建image
按照当前目录下dockerfile文件中的命令,构建一个镜像,镜像名zcy/centos,tag7.2
docker build -t zcy/centos:7.2 .
docker build -t <repository>/<namespace>/<imagename>:<tag> -f <指定的dockerfile路径>
如果不显示的标明tag,tag默认设置为latest
 
3. 基于指定image创建并运行容器
使用image zcy/mariadb:5.5.47创建并运行容器,容器名mydb, -d是后台运行,-it是前台运行
docker run -d -p 3306:3306 --name mydb -e DB_USER=admin -e DB_USER=mypaas -e REMOTE_ADMIN=true -e REMOTE_ADMIN_USER=zcy -e REMOTE_ADMIN_PASS=zcypaas -v /mydata:/var/lib/mysql zcy/mariadb:5.5.47
 
docker run -d -p 80:80 --name worpdress -e WORDPRESS_DB_HOST=172.17.0.1 -e WORDPRESS_DB_USER=zcy -e WORDPRESS_DB_PASSWORD=zcypaas -v /data/logs:/var/logs/nginx zcy/wordpress:4.3
 
4. 创建docker register server
创建证书和密钥
openssl req -x509 -days 3650 -subj '/CN=reg.odt.com/' -nodes -newkey rsa:2048 -keyout domain.key -out domain.crt
 
docker run --entrypoint htpasswd registry:2.4.0 -Bbn zcy password > auth/htpasswd
 
docker run -d -p 8888:5000 --restart=always --name registry \
  -v `pwd`/auth:/auth \
  -e "REGISTRY_AUTH=htpasswd" \
  -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
  -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
  -v `pwd`/certs:/certs \
  -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
  -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
  -v /registry:/var/lib/registry \
  registry:2.4.0
1. 安装docker compose
curl -L https://github.com/docker/compose/releases/download/1.7.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
设置为可执行文件
chmod +x /usr/local/bin/docker-compose
Reference:
https://github.com/docker/compose/releases
 
2. Docker网络
NAT(bridge)
Host
Overlay
Contiainer
安装服务发现工具consul
 
3. Docker Swarm
Docker原生的集群, 调度策略,条件过滤
 
4. Docker存储
devicemapper 支持Cow(写时复写)
OverlayFS
Volume
VFS
XFS

Docker Day1 & 2的更多相关文章

  1. CentOS 8.4安装Docker

    前言: Docker 是一个用于开发.传送和运行应用程序的开放平台.Docker 使您能够将应用程序与基础设施分开,以便您可以快速交付软件.使用 Docker,您可以像管理应用程序一样管理基础设施.通 ...

  2. Ubuntu 20.04安装Docker

    Docker学习系列文章 入门必备:十本你不容错过的Docker入门到精通书籍推荐 day1.全面的Docker快速入门教程 day2.CentOS 8.4安装Docker day3.Windows1 ...

  3. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  4. Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境

    首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来 ...

  5. Docker 第一篇--初识docker

    已经多年不写博客, 看完<晓松奇谈>最后一期猛然觉醒, 决定仔细梳理下自己这几年的知识脉络. 既然决定写, 那么首先就从最近2年热门的开源项目Docker开始.Docker 这两年在国内很 ...

  6. 在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)

    环境准备 1.亚马逊EC2 Windows Server 2016 with Container 2.Visual Studio 2015 Enterprise(Profresianal要装Updat ...

  7. docker for mac 学习记录

    docker基本命令 docker run -d -p 80:80 --name webserver nginx 运行容器并起别名 docker ps 展示目前启动的容器 docker ps -a 展 ...

  8. scrapy爬虫docker部署

    spider_docker 接我上篇博客,为爬虫引用创建container,包括的模块:scrapy, mongo, celery, rabbitmq,连接https://github.com/Liu ...

  9. [原][Docker]特性与原理解析

    Docker特性与原理解析 文章假设你已经熟悉了Docker的基本命令和基本知识 首先看看Docker提供了哪些特性: 交互式Shell:Docker可以分配一个虚拟终端并关联到任何容器的标准输入上, ...

随机推荐

  1. LEETCODE —— Unique Binary Search Trees [动态规划]

    Given n, how many structurally unique BST's (binary search trees) that store values 1...n? For examp ...

  2. python中字典的使用

    python中的字典的特性: 在字典中的元素是散列存放的,没有顺序, 在进行增删改查的时候使用字典中需要的关键字(key)即可. 一: 创建字典 1)直接定义一个: dict = {'ob1':'co ...

  3. Centos下安装和配置SVN

    1.安装SVN服务 #检查现有版本 rpm -qa subversion #如果存储旧版本,卸载旧版本SVN yum remove subversion #安装SVN yum install subv ...

  4. Datatables回调函数中文

    Datatables——回调函数 ------------------------------------------------- fnCookieCallback:还没有使用过 $(documen ...

  5. 概念:P制,N制,奇场,偶场,隔行扫描,逐行扫描

    转帖: 场的概念原于电视,电视由于要克服信号频率带宽的限制,无法在制式规定的刷新时间内(PAL制式是25fps)同时将一帧图象显现在屏幕上,只能将图象分成两个半幅的图像,一先一后地显现,由于刷新速度快 ...

  6. [MySql] - 数据库备份还原

    导出数据库到SQL方法: mysqldump.exe -u[USERNAME] -p[PASSWORD] -h [IP] jira --lock-all-tables > c:\db.sql m ...

  7. 承接Unreal4外包虚幻外包,北京正规公司

    VR产业链的现状 去年Facebook 20亿美元收购虚拟现实技术Oculus VR,提高了大家对VR设备.而国内,红杉资本投资蚁视,更是引爆了资本市场对VR/AR 的关注.其中有四块是我们较为常见且 ...

  8. 多表数据连接 Left join

    一个我写的实例:其中多表连接,一共连接了3个表.使用聚集函数SUM,用到了GROUP BY SELECT a.[UserID],b.[Name],sum (c.[Money]+c.[Bank])as  ...

  9. Oracle 支持在具有 DHCP 分配的 IP 地址的系统上进行安装

    今天在安装Oracle 10g的时候,遇到了“ Oracle 支持在具有 DHCP 分配的 IP 地址的系统上进行安装” 这个问题,经过搜索,找到了解决方案,具体如下: win7下右键单机" ...

  10. spring+ibatis整合

    一.pom.xml: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://ww ...