• 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
  • 相关阅读:
    Linux Core Dump
    ODP.NET Managed正式推出
    获取EditText的光标位置
    (Java实现) 洛谷 P1603 斯诺登的密码
    (Java实现) 洛谷 P1603 斯诺登的密码
    (Java实现) 洛谷 P1036 选数
    (Java实现) 洛谷 P1036 选数
    (Java实现) 洛谷 P1012 拼数
    (Java实现) 洛谷 P1012 拼数
    (Java实现) 洛谷 P1028 数的计算
  • 原文地址:https://www.cnblogs.com/huamingao/p/6229896.html
Copyright © 2020-2023  润新知