• centos7 docker 安装配置


     docker快速入门测试

    ##########################################
    #docker安装配置
    #环境centos7
    
    #配置docker阿里源
    echo '#Docker
    [docker-ce-stable]
    name=Docker CE - Aliyun
    baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/
    enabled=1
    gpgcheck=1
    gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
    '>/etc/yum.repos.d/docker-ce.repo
    yum makecache fast
    
    #安装必要的系统工具
    yum install -y device-mapper-persistent-data lvm2
    
    #安装 docker-ce
    yum install -y docker-ce
    
    #启动docker
    systemctl enable docker
    systemctl start  docker
    
    docker info
    docker version
    
    #默认镜像源慢,配置镜像加速
    #申请阿里云加速地址https://dev.aliyun.com/
    #docker阿里云加速配置
    mkdir -p /etc/docker
    tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://XXX自己申请XXX.mirror.aliyuncs.com"]
    }
    EOF
    systemctl daemon-reload
    systemctl restart docker
    
    
    ##########################################
    #测试运行 hello-world
    docker run hello-world
    
    ##########################################
    

     #运行容器

    ##########################################
    #运行容器
    
    #安装Nginx
    
    #搜索、下载镜像
    docker search nginx
    docker pull nginx
    docker images nginx
    
    
    #运行容器mynginx
    docker run -p 80:80 --name mynginx -d nginx
    
    #查看端口
    netstat -antp|grep 80
    #访问测试
    curl 127.0.0.1
    #外部浏览器访问ip正常,部署成功
    
    #进入Nginx容器
    docker exec -it mynginx /bin/sh
    #退出容器 exit
    Ctrl+d #快捷键
    
    #列出容器
    docker ps -a
    #删除容器
    docker rm mynginx
    
    ##########################################
    

     运行Nginx部署网站

    ##########################################
    
    #接下来思考问题:
    #Nginx配置、查看日志、部署网站
    #需要把外部的目录或文件映射到docker容器
    
    #创建目录
    Ngdir=/www/docker/nginx
    mkdir -p $Ngdir/{www,log,conf/conf.d}
    
    #创建配置(采用默认配置去注释)
    echo '#man config
    user  nginx;
    worker_processes  1;
    error_log  /var/log/nginx/error.log warn;
    pid        /var/run/nginx.pid;
    events {
        worker_connections  1024;
    } 
    http {
        include       /etc/nginx/mime.types;
        default_type  application/octet-stream;
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
        access_log  /var/log/nginx/access.log  main;
        sendfile        on;
        keepalive_timeout  65;
        include /etc/nginx/conf.d/*.conf;
    }
    '>$Ngdir/conf/nginx.conf
    #
    echo '#nginx
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504 404  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    }
    '>$Ngdir/conf/conf.d/default.conf
    #html
    echo 'Welcome to nginx!'>$Ngdir/www/index.html
    echo 'error_page 500 502 503 504 404'>$Ngdir/www/50x.html
    
    #使用nginx镜像,创建容器mynginx
    docker run -p 80:80 --name mynginx 
     -v $Ngdir/conf/nginx.conf:/etc/nginx/nginx.conf:ro 
     -v $Ngdir/conf/conf.d:/etc/nginx/conf.d:ro 
     -v $Ngdir/www:/usr/share/nginx/html:rw 
     -v $Ngdir/log:/var/log/nginx:rw 
     -d nginx
    
    #测试html内容
    curl 127.0.0.1
    curl 127.0.0.1/123
    #查看error.log
    cat $Ngdir/log/error.log
    
    #测试成功 ^_^
    
    # 参数说明:
    # -p 80:80:本地80端口:映射docker容器80端口
    # -v $Ngdir/log:/var/log/nginx  主机log目录挂载到容器log/nginx
    
    
    ##########################################
    

      

    ##########################################
    #常用命令
    
    #获取容器PID
    docker inspect --format "{{.State.Pid}}" myngix
    #docker查看容器IP
    docker inspect --format='{{.NetworkSettings.IPAddress}}' $(docker ps -a -q)  
    #查看变量
    docker exec -it mynginx env
    
    
    列出容器:docker ps -a
    查看最近生成的容器:docker ps -l
    查看正在运行的容器:docker ps
    显示容器的标准输出:docker logs CONTAINERID
    使用docker run的-i -t参数就会响应这种交互
    停止正在运行的容器:docker stop CONTAINERID
    查看容器或镜像的详细信息:docker inspect CONTAINERID|IMAGE
    删除容器:docker rm CONTAINERID
    查看所有容器ID:docker ps -a -q
    删除所有的容器:docker rm $(docker ps -a -q)
    删除镜像:docker rmi IMAGE
    
    ##########################################

     

  • 相关阅读:
    前端十万个为什么(之一):我们为什么需要npm?
    初识模块化开发工具:
    javascript 中的 let 作用域
    把汉字转换为html实体编码
    【小程序】开发过程问题整理
    【入门】正则表达式
    【CSS】面试知识整理
    【入门】Gulp 简单使用
    【入门】WebSocket 示例
    【JQ】$.ajax() 参数
  • 原文地址:https://www.cnblogs.com/elvi/p/8313131.html
Copyright © 2020-2023  润新知