Docker安装与操作

文章目录

    • Docker安装与操作
      • 一、docker安装
      • 二、docker基本操作
      • 三、实战简单应用
      • 四、稳定部署 flask + uwsgi + nginx

Docker安装与操作

一、docker安装

  1. Linux服务器安装的centos的系统内核不能低于3.10,否则安装不成功。可以通过一下命令查看系统内核

    uname -r
    # 4.18.0-147.5.1.el8_1.x86_64
    
  2. 删除原有安装残留

    sudo yum remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-selinux \
                      docker-engine-selinux \
                      docker-engine
    
  3. 创建阿里云镜像,目的是优先从阿里云获取镜像,加快docker的镜像拉取

    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo	
    # 若出现yum-config-manager: command not found 则安装 yum -y install yum-utils
    
  4. 安装docker

    sudo yum -y install docker-ce
    
  5. 查看docker版本

    docker version
    
  6. 查看帮助

    docker --help
    # Usage:  docker [OPTIONS] COMMAND
    
  7. 启动docker

    # 出现 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
    systemctl start docker
    
  8. 获取并启动第一个docker应用hello-world

    docker run hello-world
    

二、docker基本操作

  1. 搜索仓库镜像

    docker search 镜像名
    docker search centos
    
  2. 运行容器

    docker run 镜像名称
    
  3. 查看所有镜像

    docker images
    # REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
    # hello-world   latest    d1165f221234   4 months ago   13.3kB
    
    
  4. 查看运行中的容器

    docker ps
    
  5. 删除镜像

    docker rmi 镜像名称或镜像ID
    
  6. 删除容器

    docker rm 容器名称
    

三、实战简单应用

  1. 项目目录

    .
    ├── Dockerfile
    ├── requirements.txt
    └── test_project
        └── app.py
    
    1 directory, 3 files
    
  2. 编写app.py文件

    from flask import Flask
    
    app = Flask(__name__)
    
    @app.route('/')
    def hello_world():
        return "Hello World!"
    
    if __name__ == "__main__":
        app.run(host="0.0.0.0", port=5001)
    
    
  3. 生成python依赖文件requirements.txt文件

    flask==1.1.2
    
  4. 编写Dockerfile文件

    FROM python:3.7
    COPY requirements.txt /requirements.txt
    RUN pip install -r requirements.txt -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
    COPY ./test_project /test_project
    WORKDIR /test_project
    CMD ["python3", "app.py"]
    
    
  5. 创建镜像(在Dockerfile同级目录下执行)

     docker build -t flask_test:v1 .
     docker images
     
    
  6. 运行镜像

    # 运行镜像并将容器端口映射到外网端口(需要centos开放该端口外网访问)-d为后台运行
    docker run -d -p 5001:5001 flask_test:v1
    
  7. 外网浏览器访问 http://外网IP:5001/

  8. 查看正在运行的容器

    docker ps
    
  9. 停止容器运行

    docker stop flask_test:v1
    
  10. 启动已经停止运行的容器

    docker start flask_test:v1
    
  11. 删除容器

    docker rm flask_test:v1
    
  12. 删除镜像

    docker rmi flask_test:v1
    

四、稳定部署 flask + uwsgi + nginx

待更新…

你可能感兴趣的:(linux系统,其他)