docker

作者: 丫丫姑娘_b55e | 来源:发表于2018-10-25 12:02 被阅读13次

    Docker简介

    Docker属于对Linux容器技术的一种封装,它提供了简单易用的容器使用接口,是目前最流行的 Linux 容器解决方案。Docker将应用程序与该程序的依赖打包在一个文件里面,运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了Docker就再也不用担心环境问题了。

    目前,Docker主要用于几下几个方面:

    1. 提供一次性的环境。
    2. 提供弹性的云服务(利用Docker很容易实现扩容和收缩)。
    3. 实践微服务架构(隔离真实环境在容器中运行多个服务)。

    CentOS下的安装和使用

    1. 确定操作系统内核版本(CentOS 7要求64位,内核版本3.10+;CentOS 6要求64位,内核版本2.6+)。
    uname -r
    
    1. 在CentOS下使用yum安装Docker并启动。
    yum -y install docker-io
    systemctl start docker
    
    1. 检视Docker的信息和版本。
    docker version
    docker info
    
    1. 运行镜像文件。
    docker run <image-id>
    docker run -p <port1>:<port2> <name>
    
    1. 查看镜像文件。
    docker image ls
    docker images
    
    1. 删除镜像文件。
    docker rmi <name>
    
    1. 查看正在运行容器。
    docker ps
    
    1. 停止运行的容器。
    docker stop <container-id>
    docker stop <name>
    

    对于那些不会自动终止的容器,就可以用下面的方式来停止。

    docker container kill <container-id>
    

    在Ubuntu(内核版本3.10+)下面安装和启动Docker,可以按照如下的步骤进行。

    apt update
    apt install docker-ce
    service docker start
    

    在有必要的情况下,可以更换Ubuntu软件下载源来提升下载速度,具体的做法请参照https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/

    安装Docker后,由于直接访问dockerhub下载镜像会非常缓慢,建议更换国内镜像,可以通过修改/etc/docker/daemon.js文件来做到。

    {
        "registry-mirrors": [
            "http://hub-mirror.c.163.com",
            "https://registry.docker-cn.com"
        ]
    }
    

    docker container prune 删除所有容器
    docker rm -f mynginx 强行删除指定的容器
    docker start mynginx
    ===========================================================
    创建容器
    d deamon
    p 映射端口
    docker run -d -p 3306:3306
    docker run -d -p 6379:6379 --name redis-master redis:4.0.11 redis-server --appendonly yes --requirepass 123456
    ===========================================================

    docker ps -查看正在运行的容器
    docker container ls -查看正在运行的容器
    docker container ls -a

    =============================================
    docker exec -it <name> /bin/bash ---- 进入容器的shell环境
    =============================================

    netstat -nap grep | 3306
    nestat -lntp

    开启防火墙
    firewall -cmd --add-port = 3306/tcp -- permanent
    systemctl restart firewalld

    主存分离

    1.创建redis主机
    dicker run -d -p 6379:6379 --name redis-master redis:4.0.11
    redis-server -- appendonly yes --requirepass 123456
    2.创建三个redis从机
    docker run -d --name redis-server-slave-1 --link redis-master:redis-master redis:4.0.11 redis-server -- slaveof redis-master 6379 --masterauth 123456

    docker run -d --name redis-server-slave-2 --link redis-master:redis-master redis:4.0.11 redis-server -- slaveof redis-master 6379 --masterauth 123456

    docker run -d --name redis-server-slave-3 --link redis-master:redis-master redis:4.0.11 redis-server -- slaveof redis-master 6379 --masterauth 123456

    3.检查主从复制的配置
    docker exec -it redis-master /bin/bash
    redis-cli
    auth 123456
    info replication

    redis两种持久化方案:RDB/ AOF

    相关文章

      网友评论

        本文标题:docker

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