zoukankan      html  css  js  c++  java
  • linux 安装docker

    一、硬件环境要求

    CPU(推荐1C+)

    内存(推荐2G+)

    硬盘(推荐40GB+)

    二、安装docker

    官方安装参考:https://docs.docker.com/engine/install/centos/

    #安装辅助工具
    sudo yum install -y yum-utils
    
    #准备repo文件
    sudo yum-config-manager 
        --add-repo 
        https://download.docker.com/linux/centos/docker-ce.repo
    
    #执行安装
    sudo yum install docker-ce docker-ce-cli containerd.io

    三、启动docker

    #启动docker
    systemctl start docker

    #查看docker状态
    systemctl status docker

    #关闭docker
    systemctl stop docker

    四、设置阿里云镜像

    #通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
    sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://y8yh50dy.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker

    五、镜像管理

    #查看docker镜像
    docker images
    
    #删除docker镜像
    docker rmi 镜像ID    // 批量删除 docker rmi $(docker images -a -q)
    
    #获取docker镜像    // docker官方仓库:http://hub.docker.com
    docker pull 镜像名称[:版本号]

     六、容器管理

    #查看docker容器
    docker ps    // 显示运行的容器,-a 显示所有的容器
    
    #运行容器
    docker run -dp 宿主机端口:docker内部端口 --name 容器名称 镜像名称    // 例如:docker -dp 8080:8080 --name tomcat-8080 tomcat
    
    #停止容器
    docker stop 容器ID|容器名称    // 批量停止:docker stop $(docker ps -a -q)
    
    #启动容器
    docker start容器ID|容器名称
    
    #删除容器
    docker rm 容器ID|容器名称    // 批量停止:docker rm $(docker ps -a -q)

    七、进入容器

    #进入容器
    docker exec -it 容器名称 bash

    #宿主机与容器之间拷贝文件
    docker cp 容器名称:容器路径 宿主机路径 // 从容器拷贝到宿主机
    docker cp 宿主机路径 容器名称:容器路径 // 从宿主机拷贝到容器

    #查看容器日志
    docker logs 容器名称|容器ID // 查看容器运行日志
    docker logs --tail=10 容器名称|容器ID // 查看最后10行的运行日志
    docker logs -f --tail=10 容器名称|容器ID // -f 查看实时日志

     八、创建数据卷

    #查看数据卷
    docker volume ls
    
    #删除数据卷
    docker volume rm 数据卷
    
    #创建数据卷
    docker volume create 数据卷
    
    #应用数据卷
    docker run -v 路径:容器内路径 镜像ID    // 直接指定一个路径作为数据卷的存储位置
    docker run -v 数据圈名称:容器内路径 镜像ID    // 如果数据卷不存在,docker会帮你自动创建
    
    #示例:
    docker run -dp 8080:8080 --name tomcat-8080 -v /project/docker-volume:usr/local/tomcat/webapps/exam tomcat
    
    #centos 复制
    cp -r from-path to-path    // -r 复制

    九、安装nginx

    #安装nginx
    docker pull nginx
    
    #运行nginx
    docker run -dp 80:80 --name nginx80 nginx
    
    #创建数据卷目录
    mkdir /project/nginx/html
    mkdir /project/nginx/conf
    mkdir /project/nginx/logs
    
    #备份文件nginx默认配置文件
    docker cp nginx80:/etc/nginx/nginx.conf /project/nginx/conf
    docker cp nginx80:/etc/nginx/conf.d /project/nginx/conf
    
    #运行nginx docker run -dp 80:80 --name nginx80
     -v /project/nginx/html:/usr/share/nginx/html
     -v /project/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
     -v /project/nginx/conf/conf.d/default.conf:/etc/nginx/conf.d/default.conf
     -v /project/nginx/logs:/var/log/nginx nginx
    
    #nginx 设置集群
    vi /project/nginx/conf/nginx.conf
    #添加集群配置    // 在#gzip  on;下一行加入
        upstream nginxCluster{
            server 192.168.1.216:8080 weight=5;
            server 192.168.1.216:8081 weight=5;
            server 192.168.1.216:8082 weight=5;
            server 192.168.1.216:8083 weight=5;
            server 192.168.1.216:8086 backup;
        }
    
    vi /project/nginx/conf/conf.d/default.conf
    #添加集群配置
        location / { 
            root  html; 
            index  index.jsp; 
            proxy_pass http://nginxCluster;    // 增加此行配置
        }
    
    #重启nginx
    docker restart 容器名称
    
    #设置防火墙端口
    firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload

     十、安装mysql

    #安装mysql
    docker pull mysql:5.6
    
    #运行mysql
    docker run -dp 3306:3306 --name msyql5.6 -e MYSQL_ROOT_PASSWORD='123456' mysql:5.6
    
    #mysql 设置外部访问
    docker exec -it msyql5.6 bash
    mysql -uroot -p
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    
    #设置防火墙端口
    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    firewall-cmd --reload

    安装本地指南

    官方参考:https://docs.docker.com/get-started/

    #安装指南
    docker run -dp 80:80 docker/getting-started    // 端口说明 HostPort:ContainerPort

    #访问地址
    http://IP

    安装指定的TODO List项目

    目录下增加Dockerfile文件,内容添加如下:

    FROM node:12-alpine
    RUN apk add --no-cache python g++ make
    WORKDIR /app
    COPY . .
    RUN yarn install --production
    CMD ["node", "src/index.js"]

    在项目目录下,执行命令:

    #编译(耗时25分钟,安装gcc、g++、python均耗时8分钟以上)
    docker build -t getting-started .
    
    #运行
    docker run -dp 3000:3000 getting-started    // 端口说明 HostPort:ContainerPort

    #访问
    http://IP:3000

     停止与删除

    #查看docker进程
    docker ps

    #查看docker所有镜像列表
    docker images -a

    #停止指定容器(根据名称) docker stop $(docker ps
    -q --filter name=image-name) #删除指定容器(根据名称) docker rm $(docker ps -q --filter name=image-name) #停止所有容器 docker stop $(docker ps -a -q) #删除所有容器 docker rm $(docker ps -a -q) # 1.13版本以上提供prune系统工具 #系统清理 docker system prune #组件清理 docker container prune docker image prune docker network prune docker volume prune

    -- over- -

  • 相关阅读:
    ffmpeg影片转码+m3u8-segmenter影片切片
    Linux ffmpeg安装步骤详解
    linux系统部署ffmpeg视频转码环境及使用方法
    SSH反向连接使用Autossh自动ssh
    WordPress整合Google自定义搜索
    优化Wordpress的方法总结
    WordPress 数据库操作WPDB对象($wpdb)用法详解
    WordPress插件WP-PostViews的调用方法
    国内大互联网公司如何做测试
    一分钟了解ruby中的单测
  • 原文地址:https://www.cnblogs.com/vvonline/p/15257274.html
Copyright © 2011-2022 走看看