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. 影响div背景色显示的问题

    说来惭愧,走上程序猿这条不归路已经一年了,却连自己的博客都没有.看到道上有脸面的大神博客都做得贼漂亮~~于是,按捺不住了~~ 今天终于开通了博客园博客,正式开始我的博客人生啦!!!~~吼吼~~ 废话少 ...

  2. 解决Oracle 11g ORA-01017错误代码

    在oracle的之前版本时, 你的用户名密码是大小写不敏感的, 但在11g中, 数据库默认密码的大小写是敏感的, 于是我们就知道了一个事实, 那就是jdbc在给oracle密码时, 会将其变成大写,真 ...

  3. oracle数据库从入门到精通

    oracle产品线围绕企业开发平台的企业开发平台四大组件:unix,weblogic中间件,java编程语言,oracle数据库oracle 开发主要分两类数据库管理:dba数据库编程:分两部分   ...

  4. 转:ADO.NET连接字符串

    名称 ADO.NET连接字符串 说明 ADO.NET连接字符串:SQL Server,SQL Server 2005,ACCESS,Oracle,MySQL,Interbase,IBM DB2,Syb ...

  5. maven 环境搭建

    1.maven环境搭建 1)下载maven,http://maven.apache.org/download.cgi,到本地解压,然后配置环境变量 MAVEN_HOME:D:\software\apa ...

  6. virtualbox 使用USB引导启动安装系统

    想要测试u盘系统引导有没有问题,从u盘中启动我烧录的Android x86系统. 这种方式可以在已有空的虚拟机上直接启动U盘中的系统. 百度上能搜到的方式都是使用CMD命令(懒人表示太麻烦--),so ...

  7. 关于lemon oa的数据库

    lemonOA的数据库默认用的是hsqldb,这个数据库还是第一次听说,暂且不论. 也就说Lemon OA默认使用HSQLDB数据库,是嵌入式的数据库不需要单独安装. lemon-1.4.0\weba ...

  8. Hyper-v之利用差异磁盘快速创建多个虚拟机

    在新建Hyper-v磁盘的时候 有3种选项 其中分别是 固定大小 动态扩展 和 差异(differencing,个人习惯叫 差分) 其中 固定大小是新建的时候 Hyper-v创建一个设置大小值的文件, ...

  9. oracle修改字符集

    在linux下面安装了oracle 11G,由于安装的时候没有注意导致字符集问题,impdp导入操作后中文乱码. 1.用命令select userenv('language') from dual; ...

  10. 数据结构与算法(1)支线任务4——Lowest Common Ancestor of a Binary Tree

    题目如下:https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/ Given a binary tree, fin ...