美文网首页
Docker 虚拟化技术

Docker 虚拟化技术

作者: 十二右 | 来源:发表于2018-11-02 10:34 被阅读0次

    屏蔽掉硬件和软件环境的影响,很方便的在虚拟化容器里跑服务

    一、

    1. 查看内核版本uname -r ,需要3.10 以上 3.10.0-693.2.2.el7.x86_64
    2. 下载 yum -y install docker-io
    3. 启动: systemctl start docker
      service docker start
      查看: systemctl status docker
    4. 查看镜像: docker images
      搜索镜像资源:docker search redis:4.0.11
    5. 删除镜像: docker rmi + imageID
    6. 下载Nginx镜像: docker pull nginx
      docker pull <name>:<version>
    7. 下载Mysql 5.7: docker pull mysql:5.7
    8. 下载Redis: docker pull redis:4.0.11
    9. 下载 :docker pull rabbitmq

    二、

    1. 查看端口占用情况 : netstat -nap | grep 80
      如果有其他进程占用80端口,须停止(aliyundun除外)
    2. 创建容器 :docker run -d -p 80:80 --name mynginx nginx
      docker run -d -p <o-port>:<i-port> --name <name> 镜像:版本号
      docker run -d - 开启docker守护进程
      80:80 - 阿里云80端口:docker本地80端口
      --name mynginx nginx - 启动nginx 镜像
    3. 阿里云安全组开放所有端口 1/65535
    4. 开启本机防火墙: systemctl start firewalld
    5. 防火墙开启80端口: firewall-cmd --add-port=80/tcp --permanent
      --permanent 永久开启
    6. 配置防火墙规则后需要重启: systemctl restart firewalld
      再重启docker : systemctl restart docker
    7. 查看正在运行的容器:
      docker ps
      docker container ls
    8. 停止指定容器: docker stop mynginx
      开启指定容器: docker start mynginx
    9. 查看所有容器: docker container ls -a
    10. 删除一个没有运行的容器: docker rm mynginx
      强制删除运行的容器:docker rm -f mynginx
    11. 清空所有没有运行的容器(慎用): docker container prune
    12. 进入容器的shell环境:docker exec -it <name> /bin/bash
    13. 开启mysql容器 : docker run -d -p 3306:3306 --name mysql57 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
      配置mysql登录密码 - -e MYSQL_ROOT_PASSWORD=123456
      指定mysql版本,否则会自动下载最新版本: msyql:5.7
    14. 启动redis docker run -d -p 6379:6379 --name redis-master redis:4.0.11 redis-server --appendonly yes --requirepass whre123
      redis-server - redis 启动服务命令
      --appendonly yes - 持久化
      --requirepass whre123 - 设置密码 whre123
    15. 连接redis :redis-cli -h 120.77.243.69 -->auth 'password' --> ping
    16. 给redis 建立奴隶: docker run -d -p --name redis-slave-1 --link redis-master:redis-master redis:4.0.11 redis-server --slaveof redis-master 6379 --masterauth whre123
      查看主从信息: info replication

    Redis

    Redis 两种持久化方案: RDB(存储数据) / AOF(记录敲过的命令)

    1. 创建主机
      docker run -d -p 6379:6379 --name redis-master redis:4.0.11 redis-server --appendonly yes --requirepass whre123
    2. 创建三个从机
      docker run -d -p --name redis-slave-1 --link redis-master:redis-master redis:4.0.11 redis-server --slaveof redis-master 6379 --masterauth whre123
      docker run -d -p --name redis-slave-2 --link redis-master:redis-master redis:4.0.11 redis-server --slaveof redis-master 6379 --masterauth whre123
      --link redis-master:redis-master : 连接主机并给主机别名(主机ip改了也可以用别名连接)
      --slaveof redis-master 6379 : 设定为主机(别名)的从机
      --masterauth whre123 : 同步密码
    3. 检查主从复制的配置
      docker exec -it redis-master /bin/bash
      auth whre123
      info replication

    黑技术

    1. 删除所有的redis-server服务: ps -ef | grep redis-server | grep -v grep | awk '{print $2}' | xargs kill
      grep -v grep - 排除 grep的进程
      awk '{print 2}' - 打印指定的搜索结果 ;2-第二列的PID
      xargs - 将前面的内容作为参数传给 kill
    2. shell 脚本, 开机自启:
      cd /usr/bin/ -- 存放命令的文件夹
      vim xxx.sh -->写入命令
      chmod 777 xxx.sh -- 更新xxx.sh文件的权限
      输入 xxx.sh 即可运行脚本里的命令

    相关文章

      网友评论

          本文标题:Docker 虚拟化技术

          本文链接:https://www.haomeiwen.com/subject/uthqtqtx.html