docker入门及实战(纯干货)

目录

一、docker的基本概念

1.1 docker的三大核心组件

1.2 docker仓库的概念

1.3 docker镜像的概念

1.4 docker容器的概念

1.5 docker镜像和容器的区别

二、docker的安装

三、镜像管理

3.1 搜索镜像(只适合官方镜像库)

3.2  外部拉取镜像

3.3  查看本地所有镜像,docker  pull 

​编辑

3.4  查看所有镜像id

​编辑

3.5  删除镜像

3.6  查看镜像制作过程

四、容器管理

4.3 执行容器

4.4  断开容器

4.5  查看容器

4.5  启动容器

4.6  关闭容器

4.7  杀死所有运行状态下的容器


一、docker的基本概念

1.1 docker的三大核心组件

Docker 仓库 - Docker  registery

Docker 镜像 - Docker  images

Docker 容器 - Docker  containers

1.2 docker仓库的概念

        仓库是用来保存镜像,可以理解为代码控制中的代码仓库。但有公有和私有区别

        公有的 Docker  仓库名字是 Docker Hub。Docker Hub  提供了庞大的镜像集合供用户使用。这些镜像可以是自己创建,或者在别人的镜像基础上创建。

1.3 docker镜像的概念

        Docker镜像是一种轻量级的、可执行的独立软件包,它包含运行某个软件所需的所有内容,包括代码、运行时所需的库、环境变量和配置文件等,只有通过镜像才能生成Docker容器实例。Docker的镜像由一层一层的文件系统组成,这种层级的文件系统UnionFS,在bootfs和rootfs之间,包含的就是典型Linux系统中的/dev、/bin、/etc等标准目录和文件

镜像由三部分组成:
镜像名称:仓库名称+镜像分类+tag名称(镜像版本)

1.存储对象:images
2.格式:库名/分类:tag
3.tag:表示镜像版本

镜像id:

        所有镜像都是通过一个 64 位十六进制字符串来标识的。 为简化使用,前 12 个字符可以组成一个短ID,可以在命令行中使用。短ID还是有一定的碰撞机率,只要我们每个ID号不冲突就可以了

完整镜像名称示例:        
docker.io/library/nginx:v1
docker.io/library/nginx:latest
daocloud.io/library/nginx

1.4 docker容器的概念

         Docker 容器和文件夹很类似,一个Docker容器包含了所有的某个应用运行所需要的环境。每一个 Docker 容器都是从 Docker  镜像创建的。Docker 容器可以运行、启动、停止、移动、删除、暂停(挂起)。每一个 Docker 容器都是独立和安全的应用平台,Docker 容器是  Docker 的运行一部分。容器有两个不同的状态:运行态(Running)和退出态 (Exited)。这就是Docker容器。当我们使用docker  run启动容器,Docker容器就进入运行态,当我们停止Docker容器时,它就进入退出状态。

        当我们有一个正在运行的Docker容器时,从运行态到停止态,我们对它所做的一切变更都会永久地写到容器的文件系统中。要切记,对容器的变更是写入到容器的文件系统的,而不是写入到Docker镜像中的。我们可以用同一个镜像启动多个Docker容器,这些容器启动后都是活动的,彼此还是相互隔离的。我们对其中一个容器所做的变更只会局限于那个容器本身。如果对容器的底层镜像进行修改,那么当前正在运行的容器是不受影响的,不会发生自动更新现象。

docker容器可以用以下命令实现:

# docker run  -it  imagename  /bin/bash

1.5 docker镜像和容器的区别

        镜像是静态的,容器是动态的。

        镜像是不可变的,代表一个独立的、可执行的软件包,类似于我们写的代码;而容器是动态的,类似于运行代码的进程,是基于镜像创建的,包含了镜像和运行时的可变数据。

        镜像以文件形式保存在硬盘中,可以独立存在;而容器是运行在内存中的,只能靠运行镜像而存在。

        同样的镜像可以创建多个容器。

        一个镜像可以对应多个不同的容器,这是因为容器在运行时会加上一些自己的可变数据,这些数据会被写入到镜像中,因此不同的容器可以在不同的环境中运行(例如不同的操作系统、不同的应用场景等)。

总之,Docker镜像和容器是Docker容器化技术的两个重要概念,它们之间的关系类似于代码和进程之间的关系,镜像是静态的、不可变的,而容器是动态的、可变的。

要列出本地所有有效的镜像,可以使用命令:

docker  images

docker  image list

        当一个镜像的名称不足以分辨这个镜像所代表的含义时,你可以通过tag将版本信息添加到run命令中,以执行特定版本的镜像

例如:docker run ubuntu:14.04

        镜像可以发布为不同的版本,这种机制我们称之为标签(Tag)可以使用pull命令加上指定的标签:

# docker pull ubuntu:11
# docker pull ubuntu:12.04
# docker pull centos:7

二、docker的安装

Docker官网

Docker: Accelerated, Containerized Application DevelopmentDocker is a platform designed to help developers build, share, and run modern applications. We handle the tedious setup, so you can focus on the code.https://www.docker.com/一般不建议官网安装,网速太慢,网速好的话可以选择。

阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区

选择docker-ce,toolbox是收费版本

可以根据自己的系统选择版本,然后跟着步骤做就行了

docker  -v  查看版本

 

docker  info  查看docker状态

三、镜像管理

3.1 搜索镜像(只适合官方镜像库)

3.2  外部拉取镜像

https://dashboard.daocloud.io/packages/explore

3.3  查看本地所有镜像,docker  pull 

网速太慢,我取消了,这是之前拉的。

3.4  查看所有镜像id

3.5  删除镜像

删除一个或多个,多个之间用空格隔开,可以使用镜像名称或id
docker rmi daocloud.io/library/mysql  或者  docker rmi 81debc

参数解释:
rm          Remove one or more containers  ---移除一个或多个容器
rmi         Remove one or more images   ---删除一个或多个镜像

强制删除

如果镜像正在被使用中可以使用--force强制删除    
docker rmi docker.io/ubuntu:latest --force
-f, --force      Force removal of the image

注意: 容器运行中不能删除,将容器停止后,删除容器,再删除镜像。

删除所有镜像(注意是单引号)

docker  rmi  ’docker  images  -q‘

3.6  查看镜像制作过程

    docker history daocloud.io/library/nginx  使用镜像名或者镜像ID都可以

四、容器管理

4.1  创建新容器但不启动

docker create -it daocloud.io/library/centos:7 /bin/bash

4.2  创建并运行一个新Docker 容器:同一个镜像可以启动多个容器,每次执行run子命令都会运行一个全新的容器

参数解释

[root@docker-server ~]# docker run -it --restart=always daocloud.io/library/centos:7 /bin/bash   #最常用
-i:标准输入输出
-t:分配一个终端或控制台
--restart=always:容器随docker engine自启动,因为在重启docker的时候默认容器都会被关闭   
也适用于create选项
-d    后台运行容器,并返回容器ID

4.3 执行容器

(运行容器时要给容器设置个名字)如果没有指定,docker会自动分配一个随机名称是 docker run 子命令的参数
--name= Assign a name to the container
docker run -it --name 名字  daocloud.io/centos:6 /bin/bash   #名字自定义

docker run  -it  --name

4.4  断开容器

若要断开与容器的连接,并且关闭容器:容器内部执行如下命令

如果只想断开和容器的连接而不关闭容器:

ctrl + p + q

4.5  查看容器

 1.只查看运行状态的容器:
docker ps
2.-a  查看所有容器
docker ps -a
3.只查看所有容器id:
docker ps -a -q

 

4.5  启动容器

# docker start  name   #容器ID也可以
这里的名字是状态里面NAMES列列出的名字,这种方式同样会让容器运行在后台

 

4.6  关闭容器

# docker stop  name

# docker kill  name      --强制终止容器

4.7  杀死所有运行状态下的容器

# docker kill $(docker ps  -q)
# docker stop `docker ps  -q`

 

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 《Docker入门基础实战完整.pdf》是一本关于Docker容器技术入门基础教程,共分为三个部分。 第一部分主要讲解Docker的简介,包括Docker的概述、核心组件、镜像和容器的概念、Docker的应用场景和优势等。此外还介绍了Docker的安装和配置。 第二部分内容则是基于实例进行的Docker基础实战,分为四个章节。第一章介绍如何使用Docker构建Web服务器环境,包括Nginx、MySQL和PHP等服务的部署。第二章则介绍如何使用Docker搭建Java环境,包括JDK、Tomcat等服务的安装。第三章则是讲解如何使用Docker搭建Python环境,并使用Flask框架开发Web应用。最后一章则是将Docker应用于测试环境,介绍如何使用Docker进行网络测试和负载均衡等。 第三部分则是Docker高级进阶,包括Docker的网络模式、数据管理和安全等内容。其中涉及到Docker的官方仓库和Docker Compose等工具的使用。 通过学习《Docker入门基础实战完整.pdf》,可以快速入门Docker容器技术,并且通过实例进行实践操作,深入了解Docker的各个方面。无论是对于开发者还是运维人员来说,这本书都是一本非常实用的参考书籍。 ### 回答2: 《Docker 入门基础实战完整.pdf》是一本介绍 Docker 技术入门教程,主要针对刚开始学习 Docker 的人群。本书主要介绍了 Docker 的概念、使用方法、常见操作以及应用实例等方面的内容。 在 Docker 的概念方面,本书介绍了 Docker 的基本定义,包括容器、镜像、仓库等概念。通过对这些概念的具体解释,可以让读者更好地理解 Docker 的基础知识。 在 Docker 的使用方法方面,本书介绍了 Docker 的安装、配置、镜像管理和容器管理等方面的内容。通过该章节的学习,读者可以了解到如何安装 Docker,如何通过命令行与 Docker 进行交互等基础操作。 在常见的 Docker 操作方面,本书主要介绍了 Docker 的日常使用场景,包括 Docker Compose、Docker Swarm、Dockerfile 和 Docker Network 等操作。这些常见的操作可以使读者能够更好地了解 Docker 技术的使用方法,也可以帮助读者在实际应用中更有效地使用 Docker。 在 Docker 应用实例方面,本书提供了一些实用的案例,包括 Web 应用、数据库容器、持续集成等。这些案例可以帮助读者更好地了解如何在实际应用场景中使用 Docker,也可以帮助读者更快速地上手实战操作。 总的来说,《Docker 入门基础实战完整.pdf》是一本非常实用的 Docker 技术入门指南。它覆盖了 Docker 的基础知识、常见操作和应用实例等方面,对于想要入门 Docker 技术的读者是非常有帮助的。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值