• Docker Day1 & 2


    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
  • 相关阅读:
    NO 3 ,人生苦短,我学python之python 元祖tuple魔法
    NO 2,人生苦短,我学python之python 列表list的魔法
    NO 1,人生苦短,我学python之python 字符串的魔法
    几种常见登录验证的方式总结
    Spring Boot 解决跨域问题的 3 种方案
    浅析VO、DTO、DO、PO的概念、区别和用处
    对于分库分表的入门理解
    在项目启动后执行某段功能代码
    jna编程学习
    RabbitMQ详解
  • 原文地址:https://www.cnblogs.com/huamingao/p/6229896.html
Copyright © 2020-2023  润新知