• Docker快速入门


    1.基本概念、用途、核心思想

    docker应用广泛

    docker是一个用来装程序及其环境的容器,属于linux容器的封装,提供简单易用的容器使用接口。

    解决了环境配置的难题,每台电脑环境都不一样,相比虚拟机,容器体积小启动快相当于轻量化虚拟机。

    docker提供了统一的环境,快速拓展,弹性伸缩的云服务,防止其他用户的进程把服务器资源占用过多

    docker特点标准化运输方式,存储方式,API接口

    2.Docker的组成、架构、重要概念

    在这里插入图片描述

    3.Docker的安装

    首先需要Linux操作系统,我使用的是cenOS7

    登陆root用户

    查看Linux版本

    cat /etc/redhat-release
    
    • 1

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lSw3UODa-1660628383023)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816120826300.png)]

    1) 配置国内yum源
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    
    • 1

    清理软件源

    yum clean all
    
    • 1

    读取新的软件源

    yum makecache
    
    • 1
    2) 卸载旧版本
    yum remove docker \
    
    ​         docker-client \
    
    ​         docker-client-latest \
    
    ​         docker-common \
    
    ​         docker-latest \
    
    ​         docker-latest-logrotate \
    
    ​         docker-logrotate \
    
    ​         docker-engine
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    如果yum报告未安装这些软件包,也没问题。

    3) 更新yum
    yum update
    
    • 1
    4) 安装所需的软件包
    yum install -y yum-utils \
      device-mapper-persistent-data \
      lvm2
    
    
    • 1
    • 2
    • 3
    • 4
    5) 使用以下命令来设置稳定的存储库。
    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
    • 1
    2) 查看docker版本
    yum list docker-ce --showduplicates | sort -r
    
    • 1
    6) 安装指定的版本
    yum install docker-ce-18.09.0 docker-ce-cli-18.09.0 containerd.io
    
    • 1
    7) Docker 是服务器----客户端架构。命令行运行docker命令的时候,需要本机有 Docker 服务。用下面的命令启动
    systemctl start docker
    
    • 1

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-riO9jZas-1660628383024)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816121659899.png)]

    8) 安装完成后,运行下面的命令,验证是否安装成功。

    docker version

    或者

    docker info

    4.第一个Docker容器

    1)下载镜像
     docker pull [OPTIONS] NAME[:TAG]
    
    • 1

    OPTIONS:配置

    NAME:名字

    TAG:版本,默认最新版本

    下载hello -world镜像

    docker pull hello-world
    
    • 1

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F0a0WRDG-1660628383024)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816122446255.png)]

    查看本机镜像

    docker images
    
    • 1

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mHWRhAP0-1660628383025)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816122530900.png)]

    2)运行本机镜像

    Docker运行镜像命令

    docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
    
    • 1

    运行hello-world镜像

    docker run hello-world
    
    • 1

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DBp1VslG-1660628383025)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816122815639.png)]

    5.nginx的前、后台运行

    1)首先去网易云镜像站找niginx镜像地址

    https://c.163yun.com/hub#/home

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EB9lKzM5-1660628383026)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816123159671.png)]

    docker pull hub.c.163.com/library/nginx:1.13.0
    
    • 1
    docker run hub.c.163.com/library/nginx:1.13.0
    
    • 1

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G7Km23c2-1660628383026)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816123452132.png)]

    这样就在前台运行了但是就不能操作当前页面了,按ctrl+c和退出界面可以退出nginx。

    可以新开个会话,测试nginx是否运行

    docker ps
    
    • 1

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LLv3j7z8-1660628383026)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816130641231.png)]

    回到启动的会话,按住ctrl+c 退出nginx

    以后台方式运行nginx

    docker run -d hub.c.163.com/library/nginx:1.13.0
    
    • 1

    d:参数,分享的意思,

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5vR7MPRQ-1660628383026)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816130934494.png)]

    进入新开的会话,测试nginx是否运行

    docker ps
    
    • 1

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z9Zrfzri-1660628383027)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816131049231.png)]

    后台运行结束命令

    docker stop [CONTAINER ID]
    
    • 1

    进入容器查看内部

    docker exec -it [这里输入CONTAINERID] bash
    例:docker exec -it 6268c04d7297 bash
    
    • 1
    • 2

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HQMblLUp-1660628383027)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816131413163.png)]

    然后就进入了容器内部,在这里新建文件,不会影响外面。

    创建名为1的文件

    touch 1
    
    • 1

    查看nginx存放位置

    which nginx
    
    • 1

    6.Docker网络模式

    1)Bridge

    先退出nginx

    docker stop [CONTAINER ID]
    
    • 1

    本机端口映射到容器端口

    docker run -d -P  hub.c.163.com/library/nginx:1.13.0
    
    • 1

    查看分配的端口

    docker ps
    
    • 1

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8YjoSioA-1660628383028)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816132321976.png)]

    查看端口状态

    netstat -na|grep 8080
    
    • 1

    然后在浏览器访问

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JYHOqeFi-1660628383028)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816132526364.png)]

    2)Host
    3)None

    7.制作自己的Docker容器,dockerfile实战

    推广自己的软件,或者把自己的程序打包好给别人运行,都需要制作镜像。

    创建dockerfile文件

    touch Dockerfile
    
    • 1

    编辑文件

    vim Dockerfile
    
    • 1

    写入

    # 引入基本镜像
    FROM alpine:latest
    # 作者信息
    MAINTAINER imooc
    # 执行语句
    # 打印hello my dockerfile
    CMD echo 'hello my dockerfile'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    退出保存,查看文件

    cat Dockerfile
    
    • 1

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x2YbCfcp-1660628383029)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816133237416.png)]

    根据文件,制作镜像

    docker bulid -t hello_docker .
    
    • 1

    "."代表当前路径

    制作好后查看本地镜像

    docker images
    
    • 1

    运行镜像

    docker run hello_docker
    
    • 1

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2rSPfSCp-1660628383029)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816133446594.png)]

  • 相关阅读:
    shell脚本——正则表达式
    ubuntu22.04 配置共享文件夹 找不到/mnt/hgfs
    静息态fMRI中的非线性功能网络连接
    Apache Common CLI 使用方法
    Fastjson反序列化漏洞
    老友记第二季5集背诵句
    数据结构与算法-图
    255-261BFC,媒体的类型,媒体的特性,浏览器前缀,媒体查询,逻辑操作符,
    机器学习分类模型评价指标之ROC 曲线、 ROC 的 AUC 、 ROI 和 KS
    Scrum敏捷开发如何实施
  • 原文地址:https://blog.csdn.net/bakelFF/article/details/126364489