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 容器名
常用軟件部署:
    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/鏡像名
    
    
    

        

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章