zoukankan      html  css  js  c++  java
  • CentOS7 下Docker最新入门教程 超级详细 (安装以及简单的使用)

    转载https://blog.csdn.net/wzsy_ll/article/details/82866627

    1、为什么使用Docker(本人)

    最近总是频繁的在新服务器发布项目, 每次发布都需要布置项目所需要的环境特别麻烦,而且还有一台机器需要两个环境的状况

    例如:发布java web 项目而言 需要下载安装jdk 和tomcat 安装Docker后只需要几个命令就轻松搞定,还有两个环境的问题,我们有一台服务器需要发布两个java web项目 而有一个项目必须使用jdk1.7 而另一个必须用jdk1.8,这个使用Docker都可以轻松解决

    2、Docker介绍

    Docker里面有三个概念分别是:

    镜像,仓库,容器

    经过简单的安装我对这三个概念的理解大致如下:

    以下为本人个人观点仅供参考!

    容器:就说运行java web项目,首先需要有运行环境,而这个容器就是我们的运行环境

    镜像:我把镜像理解为我们的操作系统,这个操作系统(镜像)运行起来后才会有我们程序运行的环境(容器)

    仓库:这个仓库也就是我们下载操作系统(镜像)的地方,里面有各式各样的操作系统(镜像),redis,tomcat的镜像等等

    接下来进行Docker的安装和简单的使用来体验一下使用Docker是不是很方便

    3、Docker安装与启动

    因为第一次使用Docker也不清楚哪个版本比较好,所以按照官网的提示安装了最新版本(以下内容来自官网,本人亲测安装成功)

    1)Docker安装所需要CentOS7以上才可以安装

    2)  安装所需的软件包

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

    3)  设置 stable 镜像仓库:

    1.  
      $ sudo yum-config-manager
    2.  
      --add-repo
    3.  
      https://download.docker.com/linux/centos/docker-ce.repo

    4)  启用 edge 和 testing 镜像仓库:

    1.  
      $ sudo yum-config-manager --enable docker-ce-edge
    2.  
      $ sudo yum-config-manager --enable docker-ce-testing

    5)  更新yum软件包索引:

    $ sudo yum makecache fast
     

    6)  安装Docker最新版本:

    $ sudo yum install docker-ce
     

    7)启动Docker:

    $ sudo systemctl start docker
     

    8)验证是否启动成功:

    $ sudo docker run hello-world
     

     4、Docker常用命令以及使用图解

    1、拉取镜像

    docker pull 镜像地址
     

    阿里docker镜像地址:

    https://dev.aliyun.com/search.html

    以拉取tomcat镜像为例,点击搜索

    这个也就是带有tomcat环境的操作系统,这个是完整的命令直接复制就行

    docker pull registry.cn-hangzhou.aliyuncs.com/shuodao/tomcat-8.5.27
     

    因为tomcat需要java环境所以下载会有一点慢

    等待下载完成...

    2、查看所有镜像

    docker images
     

    上图可以看到两个镜像,第一个是我们测试Docker是否成功安装的  第二个使我们下载好的tomcat镜像

    3、运行镜像

    docker run -d -p 本机端口:容器端口 镜像名称

    -d:镜像在后台运行

    -p指定本机与容器内部交互的端口 -P是随机开放一个端口与容器内部ID映射(这里不做演示)

    运行tomcat镜像,我们把本机的80端口映射到容器的8080端口

    docker run -d -p 80:8080 registry.cn-hangzhou.aliyuncs.com/shuodao/tomcat-8.5.27
     

    我们访问一下看tomcat是否成功启动

    tomcat主页已经显示证明服务正常启动了

    4、查看正在运行的容器

    docker ps 
     

    5、进入到容器内部

    docker exec -it 容器ID bash   (下面是我的容器ID 每个容器ID是不一样的 使用docker ps 查看一下)

    docker exec -it a1a4eaba7dd4 bash
     

    退出容器:输入exit

    6、文件传输

    如果我们想获取容器内tomcat的日志文件怎么办呢

    容器 -----> 本机

    docker cp ID全称:容器文件路径 本地路径

    docker cp a1a4eaba7dd44db8a23701c2f7825a506381c7c889bb0702dd747ad521a809d0:/usr/tomcat/logs/catalina.out /usr/local/Docker/catalina.out
     

    本机 -----> 容器 (这个就不演示了都差不多)

    docker cp 本地文件路径 ID全称:容器路径

    7、停止容器

    docker stop 容器ID

    docker stop a1a4eaba7dd4
     

    我们再访问一下:

    下面两个命令一会儿会说到:

    8、删除容器

    docker rm 容器id

    9、删除镜像

    docker rmi 镜像id

    5、构建镜像并发布自己的项目

    1、在/usr/local下创建Docker文件夹(随便的一个空的文件夹)

    2、上传war包到这个文件夹

    war包下载地址:https://pan.baidu.com/s/1R2d_C98A-EzlEibChQ1p7A 提取码: fuf4

    3、创建Dockerfile文件

    touch Dockerfile
     

    3、编辑Dockerfile

    vi Dockerfile
     

    4、写入以下内容

    1.  
      #该镜像的父镜像 为 tomcat 镜像 这样我们就有了tomcat的环境
    2.  
      from registry.cn-hangzhou.aliyuncs.com/shuodao/tomcat-8.5.27
    3.  
       
    4.  
      #复制当前文件夹下的 war包 到镜像中tomcat的webapps目录
    5.  
      COPY TestDocker.war /usr/tomcat/webapps
    6.  
       
    7.  
      #去除容器内部中文乱码问题
    8.  
      ENV LANG C.UTF-8

    5、构建镜像(还是在Docker文件夹 也就是Dockerfile所在文件夹)

    docker build -t 镜像名称(镜像名称必须为小写):镜像版本 .

    注意后面的点要加上,这个代表Dockerfile的所在目录

    docker build -t docker-test:latest .
     

    使用docker images 查看一下我们构建的镜像

    运行镜像

    docker run -d -p 80:8080 docker-test
     

    像本文刚开始提到的,每个项目都需要有自己的运行环境,我们可以为每个项目都配置一个属于自己的镜像

    6、删除镜像和容器

    当我们有废弃的镜像和容器时,不使用需要删除

    我们需要注意的一点是:

    镜像启动后会产生容器,如果不先删除容器,镜像是无法删除的

    例如:

    我们停掉刚才的容器,删除我们的镜像

    正确的步骤:

    首先我们需要先删除容器:

    查看所有状态的容器(包括已经被停止调的容器)

    docker ps -a
     

    先删除容器:

    docker rm 87c728718a7b
     

    再查看一下发现容器已被删除:

    接下来删除镜像:

    docker rmi  48dc9dfde4d8
     

     

  • 相关阅读:
    HTML标签大全
    PHP实现QQ第三方登录代码
    php链接access并查询列出
    php连接Access数据库
    获取文件信息
    动态网页转伪静态
    asp读取指定目录下的文件名
    如何设置VBA代码的密码?如何取消VBA代码的密码?
    ol序号并在序号加背景色
    免费ASP空间
  • 原文地址:https://www.cnblogs.com/gaodi2345/p/11747232.html
Copyright © 2011-2022 走看看