• Docker基础教程快速入门 Linux CentOS安装与使用Docker容器


    Docker 介绍

    Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。

    Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。

    总体来说,Docker 的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。

    点击购买阿里云云服务器,建议买香港可以免备案,系统镜像选择CentOS7或者用自己现有服务器

    CentOS Docker 安装

    Docker 支持以下的 64 位 CentOS 版本:CentOS 7、CentOS 8、更高版本

    使用官方安装脚本自动安装

    curl -fsSL https://get.docker.com | bash -s docker --mirror aliyun

     直到安装结束

    设置 Docker 仓库

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

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

     使用以下命令来设置稳定的仓库。选择国内的阿里云

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

    安装 Docker Engine-Community

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

    好了,到这里安装工作已完毕。

    启动 Docker

    sudo systemctl start docker

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

    sudo docker run hello-world

    使用Docker

    docker run 命令来在容器内运行一个应用程序,输出Hello world

    docker run ubuntu:15.10 /bin/echo "Hello world"

    各个参数解析:

    • docker: Docker 的二进制执行文件。

    • run: 与前面的 docker 组合来运行一个容器。

    • ubuntu:15.10 指定要运行的镜像,Docker 首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。

    • /bin/echo "Hello world": 在启动的容器里执行的命令

    以上命令完整的意思可以解释为:Docker 以 ubuntu15.10 镜像创建一个新容器,然后在容器里执行 bin/echo "Hello world",然后输出结果。

    运行交互式的容器

    我们通过 docker 的两个参数 -i -t,让 docker 运行的容器实现"对话"的能力:

    docker run -i -t ubuntu:15.10 /bin/bash

     

    各个参数解析:

    • -t: 在新容器内指定一个伪终端或终端。

    • -i: 允许你对容器内的标准输入 (STDIN) 进行交互。

    注意第二行 root@8739b639f1b8:/# ,此时我们已进入一个 ubuntu15.10 系统的容器

    我们尝试在容器中运行命令 cat /proc/versionls分别查看当前系统的版本信息和当前目录下的文件列表

    使用exit退出容器

    exit

    启动容器(后台模式)

    使用以下命令创建一个以进程方式运行的容器

    注:加了 -d 参数默认不会进入容器,想要进入容器需要使用指令 docker exec(下面会介绍到)。

    docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"

     在输出中,我们没有看到期望的 "hello world",而是一串长字符

    1ab5e28733593adcbbc947185e9ecf0f4da8efa1328f6e0db4c2b1a324563bb9

    这个长字符串叫做容器 ID,对每个容器来说都是唯一的,我们可以通过容器 ID 来查看对应的容器发生了什么。

    首先,我们需要确认容器有在运行,可以通过 docker ps 来查看:

    docker ps

    输出详情介绍

    CONTAINER ID: 容器 ID,我的是1ab5e2873359

    IMAGE: 使用的镜像。

    COMMAND: 启动容器时运行的命令。

    CREATED: 容器的创建时间。

    STATUS: 容器状态。

    状态有7种:

    • created(已创建)
    • restarting(重启中)
    • running 或 Up(运行中)
    • removing(迁移中)
    • paused(暂停)
    • exited(停止)
    • dead(死亡)

    PORTS: 容器的端口信息和使用的连接类型(tcpudp)。

    NAMES: 自动分配的容器名称。

    在宿主主机内使用 docker logs 容器ID 命令,查看容器内的标准输出:

     docker logs 1ab5e2873359

    进入容器

    docker exec:推荐大家使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。

    docker exec -it 1ab5e2873359 /bin/bash

    导出和导入容器

    导出容器

    如果要导出本地某个容器,可以使用 docker export 命令。

    docker export 1ab5e2873359 > ubuntu.tar

    导出容器 1ab5e2873359 快照到本地文件 ubuntu.tar。

    导入容器快照

    可以使用 docker import 从容器快照文件中再导入为镜像,以下实例将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1:

    cat docker/ubuntu.tar | docker import - test/ubuntu:v1

    此外,也可以通过指定 URL 或者某个目录来导入,例如:

    docker import http://example.com/exampleimage.tgz example/imagerepo

    根据容器 ID 启动、关闭、重启

    • docker start:启动一个或多个已经被停止的容器
    • docker stop:停止一个或多个运行中的容器
    • docker restart:重启一个或多个容器

     

    删除容器

    删除容器使用 docker rm 命令:

    docker rm -f 1ab5e2873359

    卸载 Docker

    删除安装包:

    yum remove docker-ce

    删除镜像、容器、配置文件等内容:

    rm -rf /var/lib/docker
  • 相关阅读:
    Linux系统调优权威指南
    Linux6.X图形界面如何打开终端以及如何将终端加入右键
    Linux发展历史
    Linux总结(二)
    linux下各文件夹的结构说明及用途介绍
    FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:javax.jdo.JDODataStoreException: An exception was thrown while adding/validating class(es) :
    Failed with exception MetaException(message:javax.jdo.JDODataStoreException: Error(s) were found while autocreating/validating the datastore for classes.
    新浪SAE免费云空间,新浪云平台免费建站教程
    程序员放松的8个好网站推荐
    Android学习笔记之AndroidManifest.xml文件解析
  • 原文地址:https://www.cnblogs.com/hiit/p/14980977.html
Copyright © 2020-2023  润新知