zoukankan      html  css  js  c++  java
  • docker实战练习(一)

    systemctl start docker

    systemctl pause docker

    systemctl unpause docker

    systemctl start docker

    systemctl restart docker

    docker image ls 查看镜像

    docker image --digests 显示镜像摘要信息

    docker image --digests --no-trunc 显示镜像全部信息

    docker search centos 查询镜像

    docker search -s 30 centos 查询star超过30的镜像

    docker pull centos 下载centos镜像

    注:

    如果下载镜像超时,需设置国内镜像

    vim /etc/docker/daemon.json

    {
      "registry-mirrors": ["https://registry.docker-cn.com"]
    }

    service docker restart 重启docker

    docker rmi 镜像名/容器id 镜像名/容器id 删除镜像

    docker network create -d bridge test1 网络桥

    docker network ls 显示网络桥列表

    docker run -d -it -p 8001:22 --network test1 --name centos-test1 centos /bin/bash 创建centos镜像容器 本地的8001指向容器的22端口,在test1的网段里

    docker run --privileged  -d -it -p 8002:22 --network test2 --name centos-test2 init-java-mysql:1.1 /usr/sbin/init

    docker ps 查看运行容器

    docker ps -a 查看所有容器

    docker rm -f 镜像名/容器id 删除容器

    docker rm $(docker ps -a -q) 删除所有容器

    例如我们启动centos后台容器,每隔一秒打印当天的日历。
    $ docker run -d -p 8001:22 --network test1 --name centos-test1 centos  /bin/sh -c "while true;do echo hello docker;sleep 1;done"

    启动之后,我们使用docker ps -n 5查看容器的信息

    要查看启动的centos容器中的输出,可以使用如下方式:
    $ docker logs $CONTAINER_ID ##在container外面查看它的输出 

    docker logs -f -t --tail 1 9714e2309486 t是加入时间戳 f是追加最新的日志 tail行数
    $ docker attach $CONTAINER_ID ##连接上容器实时查看 Ctrl+p Ctrl+q退出但不关闭容器 退不出开启另一个终端 用 pkill -9 -f 'docker.*attach'

    docker stop 12bdf4567710/centos-test1 终止容器

    docker start centos-test1 启动容器

    docker restart centos-test1 重启容器

    docker kill centos-test1 强制停止容器

    docker ps -l 查看上一次运行过的容器

    docker ps -n 3查看上3次运行过的容器

    docker top 9714e2309486 查看容器进程

    docker inspect 9714e2309486 查看容器详细

    运行容器命令但没有进容器

    docker exec -t 9714e2309486 /bin/bash 进入容器

    docker attach

    docker cp 9714e2309486:文件路径 本机的路径 拷贝容器里的文件

    自己构建镜像

    docker commit -a="wang" -m="dec" 镜像名/容器id 新镜像名:版本号 这样就会生成在本地docker镜像里 docker image

    rpm -qa | grep -i java 查看是否有安装java包

    rpm -e --nodeps 包名

    注:

    需要远程链接的话需要开启端口,另外,centos镜像要设置密码 passwd 通过ssh连接

    安装ssh

    yum install passwd openssl openssh-server -y

    /usr/sbin/sshd -D

    ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''

    ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''

    ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''

    删除不了commit的镜像,是因为有依赖

    保存新镜像

    docker save -o java-mysql.tar  java-mysql:1.1

    删除新旧镜像

    docker rmi 6d7406eeac0e 93ea07f67227 b1172585ba22

    load新镜像

    docker load -i ./java-mysql.tar 

     

     

     

    docker pull percona/percona-xtradb-cluster

    docker pull docker.io/percona/percona-xtradb-cluster

    docker tag docker.io/percona/percona-xtradb-cluster pxc 重命名

     

    docker network ls 网段列表

    docker network create net1

    docker network inspect net1

    docker network rm net1

    docker network create -d bridge test1 网络桥

    docker network create --subnet=172.18.0.0/24 net1 自建网段

     docker volume rm v1

     

     

     

     

     

     

    #数据库负载均衡
    listen proxy-mysql
    #访问的IP和端口
    bind 0.0.0.0:3306
    #网络协议
    mode tcp
    #负载均衡算法(轮询算法)
    #轮询算法:roundrobin
    #权重算法:static-rr
    #最少连接算法:leastconn
    #请求源IP算法:source
    balance roundrobin
    #日志格式
    option tcplog
    #在MySQL中创建一个没有权限的haproxy用户,密码为空。Haproxy使用这个账户对MySQL数据库心跳检测
    option mysql-check user haproxy
    server MySQL_1 172.18.0.2:3306 check weight 1 maxconn 2000
    server MySQL_2 172.18.0.3:3306 check weight 1 maxconn 2000
    server MySQL_3 172.18.0.4:3306 check weight 1 maxconn 2000
    server MySQL_4 172.18.0.5:3306 check weight 1 maxconn 2000
    server MySQL_5 172.18.0.6:3306 check weight 1 maxconn 2000
    #使用keepalive检测死链
    option tcpka

    监控画面

     

     

     

    exit是退出交互界面 而不是停止容器运行

    apt-get update 很慢需要更换镜像

     

    全量备份

    路径

    需要先解散pxc 然后还原一个,然后同步pxc集群

    执行冷还原

     

    前面的坑

     

    yes

     测试

  • 相关阅读:
    idou老师教你学Istio 08: 调用链埋点是否真的“零修改”?
    idou老师教你学Istio 07: 如何用istio实现请求超时管理
    idou老师教你学Istio06: 如何用istio实现流量迁移
    Strusts2笔记8--文件的上传和下载
    Strusts2笔记7--国际化
    Strusts2笔记6--拦截器
    Strusts2笔记5--数据验证
    Strusts2笔记4--类型转换器
    Struts2笔记3--获取ServletAPI和OGNL与值栈
    Struts2笔记2--动态方法调用和Action接收请求方式
  • 原文地址:https://www.cnblogs.com/apesplan/p/10551569.html
Copyright © 2011-2022 走看看