zoukankan      html  css  js  c++  java
  • Docker安装与使用

    Docker安装与使用

    Docker是供开发人员和系统管理员 使用容器构建,运行和共享应用程序的平台。使用容器来部署应用程序称为容器化

    官网:https://www.docker.com/


    系统要求:

    Ubuntu focal 20.04

    Ubuntu Bionic 18.04

    Ubuntu xenial 16.04

    使用“lsb_release -a”查看系统版本


    ubuntu安装:

    更新软件包

    设置存储库

    sudo apt-get install 
        apt-transport-https 
        ca-certificates 
        curl 
        gnupg-agent 
        software-properties-common
    添加GPG秘钥
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

    验证秘钥
    设置稳定的存储库
     sudo add-apt-repository 
       "deb [arch=amd64] https://download.docker.com/linux/ubuntu 
       $(lsb_release -cs) 
       stable"
    安装Docker Engine
    sudo apt-get update
    sudo apt-get install docker-ce docker-ce-cli containerd.io
    测试是否成功安装Docker Engine
    sudo docker run hello-world

    镜像:相当于一个root文件系统
    搜索镜像
    sudo docker search httpd
    下载镜像
    sudo docker pull httpd
    查看已经下载的镜像
    sudo docker images

    容器:运行起来的镜像就叫做容器
    仓库:存放镜像的地方
    运行容器
    udo docker run -p 80:80 -d httpd
    run 命令常用参数
    -d    后台运行容器
    -i    交互式运行容器(命令行)
    -p    指定映射端口,宿主机端口:容器端口,(小写p)
    -t    为容器重新分配一个伪输入终端
    -v    绑定一个卷,如容器内apache的www目录可以绑定到宿主机内的一个物理路径,然后直接将网站放到宿主机的物理路径,即可解析
    查看所有容器
    sudo docker ps -a
    # 停止容器
    sudo docker stop 3b3ba64e3063
    
    # 重启容器
    docker restart 3b3ba64e3063
    
    # 启动一个已经停止的容器
    docker start 3b3ba64e3063 
    
    # 删除容器
    docker rm -f 3b3ba64e3063
    进入容器
    # 退出容器终端,容器停止
    sudo docker attach
    
    #退出容器终端,容器不会停止
    sudo docker exec
    导入导出容器
    #导出容器
    sudo docker export 3b3ba64e3063 > apache.tar
    
    导入一个容器
    cat docker/ubuntu.tar | docker import - test/ubuntu:v1

    构建镜像
    Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
    Dockerfile 的指令每执行一次都会在 docker 上新建一层。所有我们需要把多条命令合并为一条,避免docker体积过大
    dockerfile构建的镜像是已root运行,无需使用sudo命令
    必须要执行“apt-get update”命令,否则安装软件时会报“无法找到软件”的错误
    # 指定基础镜像
    FROM ubuntu:18.04
    
    # 维护者信息
    MAINTAINER end
    
    # 删除docker中的sources.list文件
    RUN rm -rf /var/lib/apt/lists/*
    
    # 复制宿主机中的sources.list文件到docker镜像中
    ADD sources.list /etc/apt/sources.list
    
    # 更新软件
    RUN apt-get update
    
    # 安装所需要的软件
    RUN apt-get install -y 
    	vim 
    	wget 
    	curl 
    	sudo 
    && rm -rf /var/lib/apt/lists/*
    当出现无法更新的情况时,可尝试更新源
    RUN echo "deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse" > /etc/apt/sources.list
    RUN echo "deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse" >> /etc/apt/sources.list
    RUN echo "deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse" >> /etc/apt/sources.list
    RUN echo "deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse" >> /etc/apt/sources.list
    RUN echo "deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse" >> /etc/apt/sources.list
    RUN apt-get update -y && apt-get -y upgrade
    或更新APT应用列表
    RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe"> /etc/apt/sources.list
    然后使用“docker build -t 镜像名:标签 .”来构建镜像、最后还有一个点,代表上下文路径
    这个就是我们构建镜像、里面包含了一些我们安装好的应用程序、然后我们可以使用“docker push”把自己的镜像推送到自己的docker账号上保存起来,下次可直接登录docker账号拉取
    使用“docker push”命令前,需要使用“docker tag”命令标记本地仓库






  • 相关阅读:
    AMap公交线路查询
    AMap行政区查询服务
    使用JavaScript的Join方法
    获取layer.open弹出层的返回值
    MVC项目中WebViewPage的实战应用
    ASP.NET管道
    Android接收系统广播
    python字符串转换成数字
    mysql缓存
    两个矩阵对应位置的数据相加,并返回一个矩阵
  • 原文地址:https://www.cnblogs.com/Excellent-person/p/14021944.html
Copyright © 2011-2022 走看看