栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

docker基础用法

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker基础用法

文章目录
  • docker基础用法
    • 什么是docker(管理容器的一个工具)
    • OCI&OCF
      • OCI
      • OCF
    • docker架构
    • docker镜像与镜像仓库
    • docker对象
    • 安装及使用docker
      • docker安装
      • docker加速
      • docker常用操作
      • docker event state


docker基础用法
什么是docker(管理容器的一个工具)

docker中的容器:

  • lxc --> libcontainer --> runC

OCI&OCF OCI

Open Container-initiative

  • 由Linux基金会主导于2015年6月创立
  • 旨在围绕容器格式和运行时制定一个开放的工业化标准
  • contains two specifications(包含两个特征)
    • the Runtime Specification(runtime-spec)(运行时特征)
    • the Image Specification(image-spec)(镜像特征)
OCF

Open Container Format

runC is a CLI tool for spawning and running containers according to the OCI specification( runC是一个CLI工具,用于根据OCI规范生成和运行容器 )

  • Containers are started as a child process of runC and can be embedded into various other systems without having to run a daemon

    容器作为runC的子进程启动,可以嵌入到其他各种系统中,而不需要运行守护进程

  • runC is built on libcontainer, the same container technology powering millions of Docker Engine installations

    runC构建在libcontainer之上,同样的容器技术支撑着数以百万计的Docker Engine安装

docker提供了一个专门容纳容器镜像的站点:https://hub.docker.com

docker架构

docker -ee企业版

docker-ce社区版

docker镜像与镜像仓库

为什么镜像仓库名字是Registry而不是repository?在docker中仓库的名字是以应用的名称取名的。

镜像是静态的,而容器是动态的,容器有其生命周期,镜像与容器的关系类似于程序与进程的关系。镜像类似于文件系统中的程序文件,而容器则类似于将一个程序运行起来的状态,也即进程。所以容器是可以删除的,容器被删除后其镜像是不会被删除的。

docker对象

When you use docker, you are creating and using images, containers, networks, volumes, pluginns, and other objects.

当你使用docker时,你是在创建和使用镜像、容器、网络、卷、插件和其他对象。

  • IMAGES(镜像)

    • An image is a read-only template with instructions for creating a docker container.

      镜像是一个只读模板,带有创建docker容器的说明。

    • Often, an image is based on another image, with some additional customization.

      通常,一个镜像是基于另一个镜像,有一些额外的定制。

    • You might create your own images or you might only use those created by others and published in a registry.

      您可以创建自己的镜像,也可以只使用其他人创建的并在注册表中发布的镜像

  • CONTAINERS(容器)

    • A conntainer is a runnable instance of an image.

      容器是镜像的可运行实例。

    • You can create, run, stop, move, or delete a container using the docker API or CLI.

      可以通过docker API或CLI创建、运行、停止、移动或删除容器

    • You can connect a container to one or more networks, attach storage to it, or even create a new image based on its current state.

      您可以将一个容器连接到一个或多个网络,将存储附加到它,甚至根据它的当前状态创建一个新的镜像。

安装及使用docker docker安装
[root@duanruhui ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux release 8.5 (Ootpa)//查看主机的系统版本
[root@duanruhui yum.repos.d]# ls
CentOS-Base.repo   epel-testing-modular.repo
docker-ce.repo     epel-testing.repo
epel-modular.repo  epel.repo //安装docker 源

[root@duanruhui ]#yum -y install docker-ce

[root@duanruhui ~]# systemctl enable --now docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.

docker加速

docker-ce的配置文件是/etc/docker/daemon.json,此文件默认不存在,需要我们手动创建并进行配置,而docker的加速就是通过配置此文件来实现的。

docker的加速有多种方式:

  • docker cn
  • 中国科技大学加速器
  • 阿里云加速器(需要通过阿里云开发者平台注册帐号,免费使用个人私有的加速器)
阿里云加速器
[root@duanruhui ~]# cd /etc/docker/
[root@duanruhui docker]# ls
key.json
[root@duanruhui docker]# vi daemon.json
[root@duanruhui docker]# cat daemon.json 
{
  "registry-mirrors": ["https://rt1qo0sq.mirror.aliyuncs.com"]
}

[root@duanruhui docker]# systemctl daemon-reload
[root@duanruhui docker]# systemctl restart docker


docker常用操作
命令功能
docker search用命令行的形式查看duoker的镜像
docker pull下载镜像
dockerimages列出镜像
docker create创建一个新容器
docker start开启一个新容器
docker run在一个新的容器里运行命令
docker attach进入一个正在运行的容器
docker ps列出容器
docker logs查看容器的日志
docker restart重启容器
docker stop停止容器
docker kill杀死一个容器
docker rm删除一个容器
docker exec在一个运行的容器里运行命令
docker info列出duocker的运行环境
docker inspect返回Docker对象的低级信息
[root@duanruhui docker]# docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Docker Buildx (Docker Inc., v0.8.1-docker)
  scan: Docker Scan (Docker Inc., v0.17.0)
......

[root@duanruhui ~]# docker search httpd
NAME                                 DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
httpd                                The Apache HTTP Server Project                  3976      [OK]       
centos/httpd-24-centos7              Platform for running Apache httpd 2.4 or bui…   44                   
centos/httpd                        
.....
[root@duanruhui ~]# docker images
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE
[root@duanruhui ~]# docker pull httpd
latest: Pulling from library/httpd
a2abf6c4d29d: Pull complete 
dcc4698797c8: Pull complete 
41c22baa66ec: Pull complete 
67283bbdd4a0: Pull complete 
d982c879c57e: Pull complete 
Digest: sha256:0954cc1af252d824860b2c5dc0a10720af2b7a3d3435581ca788dff8480c7b32
Status: Downloaded newer image for httpd:latest
docker.io/library/httpd:latest
[root@duanruhui ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
httpd        latest    dabbfbe0c57b   4 months ago   144MB

[root@duanruhui ~]# docker create --name web -p 80:80 httpd
240ed11aa7b1b253753de34a183f9e74c0de60d80c5f674508f6111698852ef6

[root@duanruhui ~]# docker ps 
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@duanruhui ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND              CREATED          STATUS    PORTS     NAMES
240ed11aa7b1   httpd     "httpd-foreground"   50 seconds ago   Created             web
[root@duanruhui ~]# docker start web
web

[root@duanruhui ~]# docker start web
web
[root@duanruhui ~]# docker stop web
web
[root@duanruhui ~]# docker start web
web
[root@duanruhui ~]# docker kill web
web
[root@duanruhui ~]# docker ps 
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

[root@duanruhui ~]# docker rm web 
web

docker event state

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/837476.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号