• centos安装docker及常用命令


    //1.删除旧版本docker
    sudo yum remove docker
    
    //2.安装必须的依赖
    sudo yum install -y yum-utils  device-mapper-persistent-data lvm2
    
    //添加docker-ce的源
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

    # yum-config-manager --add-repohttp://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    #更新 yum 缓存

     # yum makecache fast



    //3.安装docker-ce
    sudo yum install docker-ce docker-ce-cli containerd.io

    //运行docker
    systemctl start docker
    
    //查看状态
    systemctl status docker
    //修改docker下载包的源
    vi /etc/docker/daemon.json
    
    {
      "registry-mirrors":["http://registry.docker-cn.com"]
    }
    
    //保存后重启docker
    systemctl daemon-reload
    systemctl restart docker

    2.常用命令

    //复制docker容器内的数据
    docker cp  containerId:/var/jenkins_home  /home/jenkins/data
    
    //查看容器参数  可以看mounts(看挂载的volumes)  NetworkSettings(port、Networks) 
    docker inspect  containerId
    //查询镜像
    docker search [name]
    
    //拉取镜像
    docker pull [name]
    
    //查询所有镜像
    docker images
    
    //删除镜像
    docker rmi [name]
    
    //修改镜像名
    docker tag docker.io/node node
    
    
    //启动
    # 运行并进入交互模式
    docker run -it --name myjava java bash 
    # 在后台运行
    docker run -d --name myjava java
    
    //端口映射  -p
    docker run -it --name myjava -p 9000:8085 -p 9000:8086 java bash
    
    //目录映射
    docker run -it --name myjava -v /home/project:/soft --privileged docker.io/node bash
    https://blog.csdn.net/docerce/article/details/79265858
    -v 与--mount类似但是有区别
    //进入后台运行的容器 docker exec -it name bash //自动重启 docker run --restart=always -it --name myjava -p 9000:8085 -p 9000:8086 java bash //暂停容器 docker pause node //停止暂停容器 docker unpause node //停止容器 docker stop node //启动容器 docker start -i node //查看容器 docker ps -a //导入镜像 docker load < /home/node.tar.gz //导出镜像 docker save > /home/node.tar.gz
    //docker网段相关
    
    //创建网段
    docker network create net1
    
    //查看网段信息
    docker network inspect net1
    
    //删除网段信息
    docker network rm net1
    //查询镜像
    https://blog.csdn.net/wos1002/article/details/78795459
    //找出tag为<none>的images -q只返回imageID docker images -f "dangling=true" //根据repository名称和tag模糊过滤,我验证时,如果repository有/或小数点符号,通过*是无法匹配的 docker images --filter=reference='busy*:*libc'

    3.dockerfile

    //https://docs.docker.com/engine/reference/builder/#usage
    
    # build stage
    FROM node:10 as build-stage
    
    LABEL maintainer=brian@toimc.com
    
    # 创建一个工作目录
    WORKDIR /app
    
    COPY . .
    
    RUN yarn install --registry=https://registry.npm.taobao.org
    
    RUN npm run build
    
    # production stage
    FROM nginx:stable-alpine as production-stage
    
    COPY --from=build-stage /app/dist /usr/share/nginx/html
    
    EXPOSE 80
    
    CMD ["nginx", "-g", "daemon off;"]

    docker build -t web-font:v1 .
    docker docker run -it web-font:v1 bash

    4.docker 基础概念

    Docker 中有三个核心概念:Image、Container、Repository。
    
    
    Image: 有领“好人卡”倾向的广大程序猿一定对 镜像 的概念不会陌生。但和 windows 的那种 iso 镜像相比,Docker 中的镜像是分层的,
         可复用的,而非简单的一堆文件迭在一起(类似于一个压缩包的源码和一个 git 仓库的区别)。 Container: 容器的存在离不开镜像的支持,他是镜像运行时的一个载体(类似于实例和类的关系)。依托 Docker 的虚拟化技术,
           给容器创建了独立的端口、进程、文件等“空间”,Container 就是一个与宿机隔离 “容器”。容器可宿主机之间可以进行 port、volumes、network 等的通信。 Repository: Docker 的仓库和 git 的仓库比较相似,拥有仓库名、tag。在本地构建完镜像之后,即可通过仓库进行镜像的分发。
            常用的 Docker hub 有 https:
    //hub.docker.com/ 、 https://cr.console.aliyun.com/ 等。

    5.nginx运行

    # 复制文件,将a.js复制到10.10.1.1的home目录下,root是用户名
    scp ./a.js root@10.10.1.1:~/a.js
    # 从远程复制文件到本地,也就是上面的命令反过来
    scp root@10.10.1.1:~/b.js ./b.js
    # 复制文件夹到远程
    scp -r ./demo root@10.10.1.1:~/demo
    
    
    scp ~/Desktop/index.html  penguin:~/docker-demo/nginx-html
    
    docker run -d --name nginx_p -p 8866:80 -v ~/docker-demo/nginx-html:/usr/share/nginx/html/  nginx

    //nginx 默认配置在容器的 /etc/nginx/conf.d/defualt.conf
    //配置里默认的根index.html /usr/share/nginx/html/index.html

     参考:

    前端领域的 Docker 与 Kubernetes

    https://juejin.im/post/5dddd15b6fb9a071576dbd7a#heading-4

    使用 docker-compose 构建你的项目

    https://juejin.im/post/5e10163ce51d45410706539f#comment

    Docker 部署 vue 项目

    https://juejin.im/post/5cce4b1cf265da0373719819#heading-21

    vue-cli3 项目从搭建优化到docker部署

    https://juejin.im/post/5c4a6fcd518825469414e062#heading-28

  • 相关阅读:
    统计英文文章单词出现的频率
    验证码程序
    随机出题程序
    Toast提示和Menu菜单
    Failed to resolve:com.android.support:appcompat-v7第一次运行安卓程序报错
    Android stdio下载与安装教学
    简单的三级联动
    河北省科技创新平台涉众分析(交流讨论)
    项目目标文档
    系统利益相关者描述案例
  • 原文地址:https://www.cnblogs.com/little-ab/p/12958313.html
Copyright © 2020-2023  润新知