美文网首页工作生活
Centos8上安装docker

Centos8上安装docker

作者: 零下的雨 | 来源:发表于2021-02-08 12:07 被阅读0次

    一、安装虚拟机和Centos8系统

    1、安装虚拟机
    链接:https://pan.baidu.com/s/1dSJ-vR-Oq9YuPap5dI4OfQ
    提取码:8nvx

    2、安装Centos8镜像
    链接:https://pan.baidu.com/s/19TPMaoAEV3Zg09x2vX9ROA
    提取码:874a
    安装步骤请百度查询。

    二、设置Centos8的网络

    1、在“虚拟机”“设置”中将centos系统的网络适配器选择NAT模式,
    直接就是和主机共用一个IP了,比较方便;


    image.png

    2、打开CentOS8系统,登陆后,输入ip add查看网络情况,ent33就是本机的网卡;


    image.png
    3、cd /etc/sysconfig/network-scripts 打开目录,ls 查看目录中的文件, ifcfg-ens33这里是你的网卡的名字
    image.png
    4、vi ifcfg-ens33打开配置文件,按ESC键和字母i键进入增加模式,把onboot=no改为onboot = yes ,按Esc键退出编辑模式,输入:wq保存并退出;
    image.png

    三、Centos8更改yum源

    如果不更改下载docker依赖时会报错:
    Errors during downloading metadata for repository ‘AppStream‘

    1. 备份原始的yum源
    cd /etc/yum.repos.d
    cp CentOS-Base.repo CentOS-Base.repo.bak
    
    1. 下载对应版本的repo文件
    wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
    
    1. 清除旧的yum缓存并生成新的yum缓存
    yum clean all
    yum makecache
    
    1. 更新
    yum update -y
    

    四、安装docker

    使用 Docker 仓库进行安装
    在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。

    1、安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。

    sudo yum install -y yum-utils \
      device-mapper-persistent-data \
      lvm2
    

    2、设置稳定的仓库,选择阿里云的仓库

    sudo yum-config-manager \
        --add-repo \
        http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    

    3、安装 Docker Engine-Community,可以指定版本或者不指定版本
    查看仓库中有哪些版本的docker

    yum list docker-ce --showduplicates | sort -r
    
    image.png

    通过其完整的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-20.10.3。

    指定版本安装docker:

    sudo yum install --allowerasing docker-ce-20.10.3 docker-ce-cli-20.10.3 containerd.io
    

    安装成功后启动docker

    sudo systemctl start docker
    

    通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community

    sudo docker run hello-world
    
    image.png

    五、docker命令--容器使用

    使用docker run命令在容器中运行一个应用程序:
    docker run ubuntu:15.10 /bin/echo "Hello world"
    ubuntu:15.10是镜像,docker首先在本地主机上查找镜像是否存在,如果不存在会从镜像仓库docker hub下载公共镜像。
    以上的命令是创建ubuntu:15.10的容器,然后在容器里执行/bin/echo "Hello world" 并输出。

    docker run -i -t ubuntu:15.10 /bin/bash
    -i: 允许你对容器内的标准输入 (STDIN) 进行交互
    -t: 在新容器内指定一个伪终端或终端。

    docker ps 查看在运行的容器。
    docker stop 命令来停止容器。
    docker pull ubuntu命令来载入 ubuntu 镜像。
    docker ps -a 查看所有容器
    容器的状态:
    STATUS: 容器状态。
    状态有7种:
    created(已创建)
    restarting(重启中)
    running 或 Up(运行中)
    removing(迁移中)
    paused(暂停)
    exited(停止)
    dead(死亡)


    image.png

    红框中是docker容器id。

    docker start b750bbbcfd88(容器id) 启动docker容器:


    image.png

    停止docker容器:
    docker stop <容器 ID>
    重启docker容器:
    docker restart <容器 ID>


    image.png

    删除docker容器:
    docker rm -f <容器 ID>
    清理掉所有处于终止状态的容器。
    ocker container prune

    六、docker命令--镜像使用

    镜像和容器的关系就好比类和实例的关系,一个类可以创建多个实例,一个镜像可以创建多个容器。
    docker images 来列出本地主机上的镜像。
    docker run -t -i ubuntu:15.10 /bin/bash 使用ubuntu:15.10的镜像运行容器,并进入容器内部,输入exit退出容器。
    docker pull ubuntu:13.10 下载ubuntu:13.10的镜像。
    docker search httpd 查找httpd的镜像。
    docker run httpd 运行镜像。
    docker rmi hello-world 删除镜像。

    七、docker命令--容器连接

    八、docker命令--docker仓库

    docker search ubuntu查找官方仓库的镜像
    docker pull ubuntu 从官方仓库拉取镜像


    image.png

    九、docker命令--Docker Dockerfile

    dockerfile是一个文本文件,该文件中包含了一条条构建镜像文件的指令。
    镜像文件中的指令说明,请参考:https://www.runoob.com/docker/docker-dockerfile.html

    十、docker--数据卷volume

    docker数据持久化,在Docker中,要想实现数据的持久化(所谓Docker的数据持久化即数据不随着Container的结束而结束),需要将数据从宿主机挂载到容器中,比如一份配置文件可以在多个容器中共用。

    虚拟机本地创建一个目录,把本地目录挂载到容器中一个目录,进入容器目录中创建文件,回到本地目录能看到在容器中创建的文件,保持数据的一致性。

    docker create -v $PWD/data:/var/mydata --name data_container ubuntu
    

    创建一个容器,-v 是要使用volume挂载文件,$PWD/data:/var/mydata是本地data目录挂载到容器/var/mydata目录中,--name是创建的容器的名称,ubuntu是使用的基础镜像。

    docker run -it --volumes-from data_container ubuntu /bin/bash
    运行容器,从data_container容器中挂载文件,ubuntu是基础镜像文件,/bin/bash是可以进入命令行进行执行命令


    image.png
    image.png
    image.png

    把本地文件挂载到容器中,本地文件更改,容器中也跟着更改。
    docker run -p 80:80 -d -v $PWD/html:/usr/share/nginx/html nginx
    运行容器,-p 80:80映射端口号到本地,-v使用volume挂载文件,本地html目录下的文件挂载到/usr/share/nginx/html目录中。
    本地文件内容:


    image.png

    调接口查看内容和本地文件内容一致:


    image.png
    修改内容,再次查看内容变化:
    image.png

    更多内容可以参考:https://www.cnblogs.com/edisonchou/p/docker_volumes_introduction.html

    十、docker--Docker Compose

    相关文章

      网友评论

        本文标题:Centos8上安装docker

        本文链接:https://www.haomeiwen.com/subject/djklhctx.html