Centos下Docker社区版安装与卸载及常用软件部署

网络配置:
    vim /etc/sysconfig/network-scripts/ifcfg-ens33 
    dbcp->static no->yes 
    IPADDR=ip 
    GATEWAY=网关
    DNS1= 
    route -n 查看有没有 0.0.0.0 -网关 0.0.0.0
    如果没有,是ping不通外网的
    那么得要添加路由
    route add default gw 网关
    service network restart

作用:
    构建开发 测试 生产 环境
    构建服务
Docker:
    client/server(守护进程:连接(管理)docker容器 宿主机)
    
    镜像(用来运行容器的一组文件的集合)与(产生多个)容器
    
    注册中心:
        共有Docker Hub
        私有搭建
    安装:
        (centos7)
        1.sudo yum update(update yum)
        2.sudo yum install -y yum-utils device-mapper-persistent-data lvm2(yum-utils)
        3.sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo((将yum源为阿里云))
        4.sudo yum install docker-ce(安装docker社区版)
        5.docker -v(查看docker版本)
    删除:
        yum list installed | grep docker
        yum remove -y docker_id
    启动和停止:
        解决加速1:
            vi /etc/docker/daemon.json
            daemon.json/daemon.conf
            {
                "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
            }
            {
                "registry-mirrors":["http://f1361db2.m.daocloud.io"]
            }
        
        解决加速2:
            curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
        start:
            systemctl start docker
            systemctl restart docker
            systemctl enable docker
        stop:
            systemctl stop docker
        status:
            systemctl status docker
    镜像相关:
        查看镜像 docker images
        搜索镜像 docker search [镜像]
        拉取镜像 docker pull [镜像]
        删除镜像 docker rmi 镜像ID
        删除所有 docker rmi `docker images -q`
        导出镜像:docker save imagesid > /path
        导入镜像:docker load imagesid < /path
    容器相关:
        查看容器:
            docker ps 
                        -a
                        -l
                        -f stauts-exited
        创建:
            docker run 
                        -i(运行)
                        -t(进入)
                        -name(命名)
                        -v(目录映射)
                        -d(不进入)
                        -p(端口映射)
        进入和退出容器:
            docker exec -i -t 容器名  /bin/bash
            exit         退出
        停止与启动容器:
            docker start 容器名/id
            docker stop  容器名/id
        文件拷贝:
            docker cp 文件名 容器名:tag/dir  
        目录挂载:
            
        查看容器ip:
            docker inspect 容器名
            docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名
        删除容器:
            docker rm 容器名
常用软件部署:

   portainer部署

docker pull portainer/portainer
docker run -d --name portainerUI -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer

    mysql部署
        docker pull centos/mysql-57-centos7
        docker run -di --name=mysql57_sssd -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql
    tomcat部署
        docker pull tomcat:7-jre7
        docker run -di --name=tomcat_sssd -p 8080:8080 tomcat:7-jre7
    nginx部署
        docker pull nginx
        docker run -di --name=nginx_example -p 80:80 nginx
    redis部署
        docker pull redis
        docker run -di --name=redis_example -p 6379:6379 redis
    zookeeper部署
        docker pull zookeeper:3.5
        docker create --name zk -p 2181:2181 zookeeper:3.5
        docker start zk
    mysql-google-percona部署
        docker pull percona:5.7.23
        docker create --name percona -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root percona:5.7.23
    rocketmq部署:
        #拉取镜像
        docker pull foxiswho/rocketmq:server-4.3.2
        docker pull foxiswho/rocketmq:broker-4.3.2
         
        #创建nameserver容器
        docker create -p 9876:9876 --name rmqserver \
        -e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m -Xmn128m" \
        -e "JAVA_OPTS=-Duser.home=/opt"  \
        -v /soft/rmq/rmqserver/logs:/opt/logs \
        -v /soft/rmq/rmqserver/store:/opt/store \
        foxiswho/rocketmq:server-4.3.2
         
        #创建broker容器
        docker create -p 10911:10911 -p 10909:10909 --name rmqbroker \
        -e "JAVA_OPTS=-Duser.home=/opt"  \
        -e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m -Xmn128m" \
        -v /soft/rmq/rmqbroker/conf/broker.conf:/etc/rocketmq/broker.conf \
        -v /soft/rmq/rmqbroker/logs:/opt/logs \
        -v /soft/rmq/rmqbroker/store:/opt/store \
        foxiswho/rocketmq:broker-4.3.2
        
        #启动容器
        docker start rmqserver rmqbroker
        
        #拉取镜像
        docker pull styletang/rocketmq-console-ng:1.0.0
         
        #创建并启动容器
        docker run -e "JAVA_OPTS=-Drocketmq.namesrv.addr=172.16.55.185:9876 -
        Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8082:8080 -t styletang/rocketmq-
        console-ng:1.0.0

迁移与备份:
    容器保存为镜像
        docker commit 容器名 保存后的镜像名
    镜像导出
        docker save -o 文件名 镜像名
    镜像导入    
        docker load -i 文件名
Dockerfile:
    语法:
        FROM 使用哪个基础镜像
        MAINTAINER 声明镜像的创建者
        ENV 设置环境变量
        RUN 核心部分
        ADD 复制文件自动解压
        COPY 复制文件但不能自动解压
        WORKDIR 设置工作目录
        docker build -t='镜像名' .(Dockerfile所在文件夹)
私服搭建:
    docker pull registry 
    docker run -di --name=registry_example -p 5000:5000 registry
    vi /etc/docker/daemon.json
    {
        "insecure-registries":["192.168.111.111:5000"]
    }
    docker tag 镜像名 192.168.111.111:5000/镜像名
    docker push 192.168.111.111:5000/镜像名
    
    
    

        

你可能感兴趣的:(docker)