zoukankan      html  css  js  c++  java
  • docker

    docker 安装【学习版本】

    一、环境确认

    1.1 前提条件

    目前,CentOS 仅发行版本中的内核支持 Docker.Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。

    1.2 使用 yum 安装(CentOS 7下)

    Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

    通过 uname -r 命令查看你当前的内核版本

    [root@localhost ~]# uname -r
    
    

    1.3 docker ce和docker ee

    从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE。
    Docker CE 即社区免费版,Docker EE 即企业版,强调安全,但需付费使用。

    
    
    怎么确认本地机子上是否有docker
    
    1.输入docker命令
    2. 查看docker版本号
    
    
    [app@yndc-tp-prd-hybris01 ~]$  yum list installed |grep docker
    containerd.io.x86_64                        1.4.11-3.1.el7             @docker-ce-stable
    docker-ce.x86_64                            3:20.10.9-3.el7            @docker-ce-stable
    docker-ce-cli.x86_64                        1:20.10.9-3.el7            @docker-ce-stable
    docker-ce-rootless-extras.x86_64            20.10.9-3.el7              @docker-ce-stable
    docker-scan-plugin.x86_64                   0.8.0-3.el7                @docker-ce-stable
    [app@yndc-tp-prd-hybris01 ~]$ docker --version
    Docker version 20.10.9, build c2ea9bc
    [app@yndc-tp-prd-hybris01 ~]$ 
    
    
    
    

    1.4 移除旧的版本:

    $ sudo yum remove docker 
                      docker-client 
                      docker-client-latest 
                      docker-common 
                      docker-latest 
                      docker-latest-logrotate 
                      docker-logrotate 
                      docker-selinux 
                      docker-engine-selinux 
                      docker-engine
    

    安装一些必要的系统工具:

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

    添加软件源信息:

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

    更新 yum 缓存:

    yum makecache fast
    

    安装 Docker-ce:(时间有点长)

    yum -y install docker-ce
    

    启动 Docker 后台服务

    systemctl start docker
    

    测试运行 hello-world

    docker run hello-world
    

    运行镜像
    由于本地没有hello-world这个镜像,所以会下载一个hello-world的镜像,并在容器内运行。

    查看docker状态

    systemctl status docker
    

    docker状态
    关闭docker

    systemctl stop docker
    
    systemctl status docker
    

    重启docker

    systemctl restart docker
    systemctl status docker
    

    鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是网易的镜像地址:http://hub-mirror.c.163.com
    新版的 Docker 使用 /etc/docker/daemon.json 来配置 Daemon。

    请在该配置文件中加入(没有该文件的话,请先建一个):

    {
      "registry-mirrors": ["http://hub-mirror.c.163.com"]
    }
    

    删除 Docker CE
    执行以下命令来删除 Docker CE:

    $ yum remove docker-ce
    $ rm -rf /var/lib/docker
    

    参考:https://www.jianshu.com/p/ef14131fe900

    docker镜像操作

    列出所有本地docker镜像

    docker images
    
    
    各个选项说明:
    
    REPOSITORY:表示镜像的仓库源
    
    TAG:镜像的标签
    
    IMAGE ID:镜像ID
    
    CREATED:镜像创建时间
    
    SIZE:镜像大小
    
    同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。
    
    
    
    

    拉取镜像

    docker pull 镜像名
    

    搜索镜像

    docker search 镜像名
    
    docker search tomcat
    
    
    
    NAME:镜像仓库源的名称
    
    DESCRIPTION:镜像的描述
    
    OFFICIAL:是否docker官方发布
    

    删除镜像

    docker rmi 镜像名称/镜像ID
    
    

    docker容器操作

    查看容器

    docker ps
    

    创建容器
    docker run 创建tomcat容器

    [root@localhost docker]# docker run --name tomcat -d -p 8080:8080 tomcat
    命令说明:
    
    --name tomcat:给容器取个名字
    -d:后台运行
    -p 8080:8080:将容器的8080端口映射到主机的8080端口,前一个8080是主机端口,后一个8080是tomcat,然后可以在浏览器通过主机ip:8080访问到tomcat。第一个端口8080如果是7070,那么访问的时候就是主机ip:7070.可以更改的哦.最后一个tomcat是要运用的tomcat镜像,就是上面的repository.
    

    我们这里启动了一个tomcat容器,然后在通过命令docker ps查看一下

    如果在创建容器过程中出现如下情况,说明容器已经在运行了,你可以删除之后再重新创建:

    删除已经在运行的容器

    docker rm 容器名|容器id
    

    查看所有容器

    docker ps -a
    

    查看最后一次运行的容器

    docker ps -l
    

    查看停止的容器

    docker ps -f status=exited
    

    停止正在运行的容器

    docker stop 容器名称/容器ID
    

    启动容器

    docker start 容器名称/容器ID
    

    删除容器

    docker rm 容器ID
    

    镜像制作和运行

    构建DockerFile:

    vim DockerFile
    
    
    FROM java:8-alpine
    ADD sringboot-mybatis-0.0.1-SNAPSHOT.jar app.jar
    EXPOSE 80
    ENTRYPOINT  ["java","-jar","/app.jar"]
    
    
    
    说明:
    
    FROM::项目依赖,需要一个 java 8 版本的 jdk
    ADD:第一个参数为 JAR 包的名称, 第二个人参数自定义名称,打包后的名称
    EXPOSE:项目运行时的端口
    ENTRYPOINT:运行 JAR 包的指令, 如 java -jar app.jar 为 ["java","-jar","/app.jar"]
    注意这里的 app.jar 和 ADD 的第二个参数对应
    
    
    

    创建镜像:
    在当前目录执行 =>

    docker build -f /usr/local/mydemo/Dockerfile springboot:1.0 .
    

    其中 springboot:1.0 为设定的镜像名称:版本
    注意:

    
    /usr/local/mydemo/Dockerfile为Dockerfile文件 路径
    最后的一个 . 为 DockerFile 所在的相对路径【为镜像生成之后的保存路径】
    

    查看镜像是否打包完成

    docker images
    
    

    运行镜像

    docker run -d -p 8085:80 springboot:1.0
    

    参考:https://www.jianshu.com/p/faf7af05a808

    yum是rpm系统的自动更新程序和软件包安装程序/删除程序。方便通过命令安装需要的软件包,没有命令可直接列出未安装包,但可以通过下面两个命令对比就可得知哪些未安装的了。

    (1)yum list指的是列出所有可安装的安装包;
    (2) yum list installed指的是列出已安装的安装包;

    yum list | grep 包名
    yum list installed |grep 包名

    centos下安装JDK
    https://www.jianshu.com/p/02df416dc6cf

    yum-config-manager命令介绍
    介绍
    yum-config-manager命令是对资源库(/etc/yum.repos.d/下的文件)进行增删改查
    系统默认没有安装这个命令,这个命令在yum-utils包里,可以通过yum install -y yum-utils安装

    查询仓库内容
    查询所有资源库
    # yum repolist all
    查询已启用的资源库
    # yum repolist enabled
    查询禁用的资源库
    # yum repolist disabled
    
    添加资源库
    # yum-config-manager --add-repo repository_url
    # yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/centos/8/BaseOS/x86_64/os/
    启用资源库
    # yum-config-manager --enable itemName
    
    禁用资源库
    # yum-config-manager --disable itemName
    或者直接编辑/etc/yum.repos.d/下对应资源库文件
    enabled=0
    
    删除资源库
    在/etc/yum.repos.d/下手动删除对应repo文件即可,这会使得该库中所有信息被删除
    
    

    https://www.cnblogs.com/bulh/articles/12522466.html

    device mapper与device-mapper-persistent-data 和 lvm2
    前言
    在新主机首次安装 Docker Engine-Community之前,需要设置Docker仓库,之后,您可以从仓库安装和更新 Docker。

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

    device mapper
    Device Mapper 是 Linux2.6 内核中支持逻辑卷管理的通用设备映射机制,它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构。

    LVM
    LVM(Logical Volume Manager)逻辑卷管理。

    它是对磁盘分区进行管理的一种机制,建立在硬盘和分区之上的一个逻辑层,用来提高磁盘管理的灵活性。通过LVM可将若干个磁盘分区连接为一个整块的卷组(Volume Group),形成一个存储池。可以在卷组上随意创建逻辑卷(Logical Volumes),并进一步在逻辑卷上创建文件系统,与直接使用物理存储在管理上相比,提供了更好灵活性。

    device-mapper-persistent-data 和 lvm2
    两者都是Device Mapper所需要的。

    https://www.runoob.com/docker/centos-docker-install.html

    1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
    
    通过 uname -r 命令查看你当前的内核版本
    
     $ uname -r
    2、使用 root 权限登录 Centos。确保 yum 包更新到最新。
    
    $ sudo yum update
    3、卸载旧版本(如果安装过旧版本的话)
    
    $ sudo yum remove docker  docker-common docker-selinux docker-engine
    4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
    
    $ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    5、设置yum源
    
    $ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
     
    
    6、可以查看所有仓库中所有docker版本,并选择特定版本安装
    
    $ yum list docker-ce --showduplicates | sort -r
    
    
    7、安装docker
    
    $ sudo yum install docker-ce  #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
    $ sudo yum install <FQPN>  # 例如:sudo yum install docker-ce-17.12.0.ce
    
    8、启动并加入开机启动
    
    $ sudo systemctl start docker
    $ sudo systemctl enable docker
    9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
    
    $ docker version
    
    

    菜鸟教程:
    https://www.runoob.com/docker/centos-docker-install.html

    Docker Engine-Community =docker-ce

    compose命令详解:
    https://www.cnblogs.com/phpk/p/11205467.html
    https://www.jianshu.com/p/9e5169d9f1f7
    https://www.cnblogs.com/ithubb/p/13455247.html

  • 相关阅读:
    软件工程作业--评价自己经常使用的输入法
    课堂练习-找水王
    软件工程——找水王(续)
    软件工程——评价输入法
    软件工程——《你的灯亮着吗》读书笔记
    软件工程——课堂练习“找水王”
    软件工程结队项目——智能点餐系统典型用户及用户场景分析
    软件工程课堂练习——N层电梯只停一层求乘客爬楼层数最少(基本方法+优化方法)
    软件工程课堂练习——求买书最低价格
    结队项目——智能订餐系统用户调研报告
  • 原文地址:https://www.cnblogs.com/oneboi/p/15432963.html
Copyright © 2011-2022 走看看