• 后端技术栈:Docker容器应用


    (一)安装Docker CE

    1. 安装依赖

    yum install -y yum-utils device-mapper-persistent-data lvm2
    
    • 1

    安装依赖

    2. 添加aliyun docker-ce yum源

    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
    • 1

    添加yum源

    3. 重建yum缓存

    yum clean all
    
    • 1
    yum makecache
    
    • 1

    重建yum缓存

    4. 查看可用的docker版本

    yum list docker-ce.x86_64 --showduplicates | sort -r
    
    • 1

    查看可用的docker版本

    5. 安装指定版本docker

    yum install -y docker-ce-20.10.6-* docker-ce-cli-20.10.6-*.x86_64
    
    • 1

    安装指定版本docker

    (二)启动Docker

    1. 临时启动Docker

    systemctl start docker 
    
    • 1

    2. 设置开机自动启动

    systemctl enable docker
    
    • 1

    设置开机自动启动

    3. 查看Docker运行状态

    systemctl status docker
    
    • 1

    查看Docker运行状态

    4. 查看Docker容器版本信息

    docker version
    
    • 1

    查看Docker容器版本信息

    5. 配置镜像加速器

    可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器(参考阿里云官方帮助文档 https://cr.console.aliyun.com/cn-beijing/instances/mirrors )

    sudo mkdir -p /etc/docker
    
    • 1
    sudo tee /etc/docker/daemon.json <<-'EOF'
    
    • 1
    {
    "registry-mirrors": ["https://e7n1ndig.mirror.aliyuncs.com"]
    }
    EOF
    
    • 1
    • 2
    • 3
    • 4

    配置镜像加速器

    sudo systemctl daemon-reload
    
    • 1
    sudo systemctl restart docker
    
    • 1

    6. 下载nginx镜像

    docker pull nginx
    
    • 1
    docker images
    
    • 1

    下载nginx镜像

    7. 启动nginx镜像

    docker run -p 80:80 --name my_nginx -d nginx
    
    • 1
    docker ps -a
    
    • 1

    启动nginx镜像

    8. 通过浏览器访问主机的80端口

    通过浏览器访问主机的80端口

    9. 进入启动了nginx的Docker容器系统

    docker exec -it my_nginx /bin/bash
    
    • 1

    (三)自定义Dockerfile并构建镜像

    1. 编写Dockerfile文件

    文件名为Dockerfile,内容如下:

    FROM centos:centos7
    MAINTAINER myname <myname@gmail.com>
    # 安装工具包
    RUN yum install -y gcc-c++  pcre pcre-devel zlib zlib-devel openssl openssl-devel
    # 安装nginx1.14.2
    RUN useradd -M -s /sbin/nologin nginx
    COPY ./nginx-1.14.2.tar.gz /opt/
    WORKDIR /opt/
    RUN tar zxvf nginx-1.14.2.tar.gz
    RUN mkdir -p /usr/local/nginx
    RUN cd nginx-1.14.2 && ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module  --with-http_sub_module && make && make install
    # 设置启动脚本
    RUN mkdir -p /opt/work/bin
    COPY ./start.sh /opt/work/bin
    WORKDIR /opt/work/bin
    RUN chmod -R 755 /opt/work/bin
    # 定义要暴露的端口
    EXPOSE 80
    # 启动nginx脚本
    CMD ["./start.sh"]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    2. 构建自定义镜像

    下载需要的nginx-1.14.2源码包

    wget http://nginx.org/download/nginx-1.14.2.tar.gz
    
    • 1

    创建start.sh文件,文件内容如下:

     #!/bin/bash 
    /usr/local/nginx/sbin/nginx -g "daemon off;"
    
    • 1
    • 2

    构建镜像(注意命令后面有个“点”)

    docker build -t my-nginx-server . 
    
    • 1
    docker images
    
    • 1

    3. 启动容器

    docker run -p 8080:80 --name my_nginx2 -d my-nginx-server
    
    • 1
    docker ps -a
    
    • 1
  • 相关阅读:
    Python数据采集与处理之网页爬取
    opencv+tesseract完成验证码识别(识别率99.99%)
    大一作业HTML网页作业 HTML CSS制作二十四节气网页
    Linux线程安全
    Qt Design Studio
    通过pipeline配置sonar自动化实现过程解析
    【周末闲谈】谈谈数学转码这一年来的体会与反思
    MySQL存储引擎
    干货|爱奇艺短视频多模态分类技术解析
    HTML+CSS美食静态网页设计——简单牛排美食餐饮(9个页面)公司网站模板企业网站实现
  • 原文地址:https://blog.csdn.net/SongXJ_01/article/details/126854907