从零开始的Docker Desktop使用,Docker快速上手,Docker介绍和基础使用

news2024/12/25 14:41:21

目录

  • 1 Docker简介和安装和基础配置
    • 1.1 Docker简介
    • 1.2 安装Docker Desktop
    • 1.3 换源
    • 1.4 Docker基础使用
    • 1.5 对Docker操作
      • 1.5.1 获取当时所有镜像(docker images)
      • 1.5.2 拉镜像(docker pull)
      • 1.5.3 删除镜像(docker rmi)
      • 1.5.4加载镜像(docker run)
    • 1.6 使用交互式容器
      • 1.6.1 查看容器(docker ps)
      • 1.6.2 启动和关闭容器
    • 1.7 查看Docker状态

1 Docker简介和安装和基础配置

1.1 Docker简介

Docker 就像一个盒子,里面可以装很多物件,如果需要某些物件,可以直接将该盒子拿走,而不需要从该盒子中一件一件的取。

Docker中文社区
Docker 包括三个基本概念:

  • 镜像(Image)

    • Docker的镜像概念类似于虚拟机里的镜像(比如.ISO文件),是一个只读的模板,一个独立的文件系统,包括运行容器所需的数据,可以用来创建新的容器。
    • 例如:一个镜像可以包含一个完整的 ubuntu 操作系统环境,里面仅安装了MySQL或用户需要的其它应用程序。
  • 容器(Container)

    • Docker容器是由Docker镜像创建的运行实例,类似VM虚拟机,支持启动,停止,删除等。
    • 每个容器间是相互隔离的,容器中会运行特定的应用,包含特定应用的代码及所需的依赖文件。
    • 容器就类似与虚拟机中我们创建好的虚拟机系统,之后我们所有的操作都是在容器中进行的,我们的程序也是运行在容器中。
  • 仓库(Repository):

    • 镜像便于传播,而仓库就是专门用来传播这些镜像的地方,他有点类似与Github,或者你可以把他看成一个存放各种镜像的镜像商店
    • Docker官方的仓库: 他的服务器处于国外,所以下载速度较慢,不过我们可以通过换源解决。
    • daocloud国内仓库: 国内也有一些优秀的商店,他和Docker官方的仓库的区别类似与Github和Gitee的区别。
    • 网易云镜像中心

本博客主要解决在Windows环境下,快速上手使用Docker的问题,主要会介绍在Windows系统下Docker Desktop的安装,Docker 基础命令,比如说下载镜像、实例化镜像、使用容器、关闭容器、删除容器\镜像、使用仓库、创建镜像等模块的使用。其他系统应该除了安装外其他操作都可以通用。

1.2 安装Docker Desktop

1 我们先去官网下载安装包

在这里插入图片描述
2 打开安装包加载一会后一般会弹出两个选项,在较旧的Windows10或之前的系统会出现如下所示的相关提示。我们把第一个选上,第二个根据需求选择即可。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.3 换源

首先,我们打开Docker的设置

在这里插入图片描述
选择Docker Engine,在其中输入(这里使用的是163的源,如果想要使用其他源可以自行设置,github上有个项目:docker_mirror可以自动检测在你的网络环境下那个源是最快的)
在这里插入图片描述
在这里插入图片描述

1.4 Docker基础使用

  • 首先我们输入docker run hello-world是否会出现下图所示的提示,如果出现报错,这环境配置可能出现了问题。

  • ps:这行命令会让docker从官方仓库中拉去hello-world的镜像到本地,并且自动将其实例化成容器。
    在这里插入图片描述

1.5 对Docker操作

安装完成Docker后,默认每次开机的时候都会自动启动,但我们也可以手动启动,关闭或者重启Docker

# 启动docker
sudo service docker start
# 重启docker
sudo service docker restart
# 停止docker
sudo service docker stop

1.5.1 获取当时所有镜像(docker images)

docker image ls
# 或者
docker images

在这里插入图片描述
在这里插入图片描述

1.5.2 拉镜像(docker pull)

# 官方镜像
docker image pull 镜像名称 
# 或简写为 
docker pull 镜像名称
# 比如
docker pull ubuntu
docker pull ubuntu:16.04

# 个人镜像
docker pull 仓库名称/镜像名称
docker pull xunmi/django

# 第三方仓库拉去
docker pull 第三方仓库地址/仓库名称/镜像名称
docker pull hub.c.163.com/library/mysql:latest
(默认仓库名为library,所有从官方获取镜像相当于`sudo docker image pull library/镜像名称`)

1.5.3 删除镜像(docker rmi)

docker image rm 镜像名或镜像ID 或 docker rmi 镜像名或镜像ID
docker image rm hello-world
docker rmi 9e64176cd8a2

在这里插入图片描述
删除镜像的前提是没有使用这个镜像的容器,如果有需要先删除容器(报错:Error response from daemon: conflict: unable to delete 镜像ID (must be forced) - image is being used by stopped container 容器ID则代表有容器使用了此镜像。)可以尝试先执行docker rm 容器ID删除容器,如果还报错,可以看我下方删除容器的具体方法。
几条删除命令的区别

docker rm: 删除一个或多个 容器
docker rmi: 删除一个或多个 镜像
docker prune: 用来删除不再使用的 docker 对象

1.5.4加载镜像(docker run)

上面我们说过,镜像只是一个只读类型的文件,而我们的环境不可能只是一个这样的文件,所以我们需要把这个镜像加载成我们的环境,也就是让他变成容器。

docker run [可选参数] 镜像名 [向启动容器中传入的命令]

在这里插入图片描述

可以启动一个系统docker run -i -d -t --name=kali-test kalilinux/kali-rolling
(这里我使用linux的一个发行版kali作为介绍)

或可以简写为docker run -idt --name=kali-test kalilinux/kali-rolling

PS: 如果加载一个我们没有的镜像,docker会自动从官方仓库中进行拉去。

1.6 使用交互式容器

上面我们成功将镜像变成了容器,但上述的命令中我们都加入了-d,让容器在后台运行了。下面我们就来讲如何和正在运行的容器进行交互。

1.6.1 查看容器(docker ps)

查看容器主要会用到ps命令

# 查看当前所有正在运行的容器
docker ps
# 查看当前所有的容器
docker ps -a
# 使用过滤器(除了name外,常用的还可以指定id:id= 、所有停止的容器:status=exited,正在运行的容器:status=running 等)
docker ps -f name=指定的名字
# 显示2个上次创建的容器(2可以改变)
docker ps -n 2
# 显示最新创建的容器(包括所有状态)
docker ps -l
# 仅显示ip
docker ps -q
 # 显示容器大小
docker ps -s

在这里插入图片描述
在这里插入图片描述

1.6.2 启动和关闭容器

# 停止容器
docker container stop 容器名或容器id
# 或可简写为
docker stop 容器名或容器id

# 强制关闭容器
docker container kill 容器名或容器id
# 或可简写为
docker kill 容器名或容器id

# 启动容器
docker container start 容器名或容器id
# 或可简写为
docker start 容器名或容器id

如果我们成功启动或者关闭一个容器的话,会返回容器名或者容器id
stop和kill的区别: stop是比较优雅的关掉一个容器,类似我们正常退出一个软件,而kill是当一个进程出现意外无法正常关闭的时候,我们强行进行关闭,有点像我们使用任务管理器进行结束进程操作

在这里插入图片描述

1.7 查看Docker状态

docker info

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1323775.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【2023 英特尔On技术创新大会直播 |我与英特尔的初次相遇】—— AIPC探索下一代的物联网时代

🌈个人主页: Aileen_0v0 🔥系列专栏:英特尔技术学习专栏 💫个人格言:"没有罗马,那就自己创造罗马~" 目录 硅谷经济的发展与挑战 Intel开发者云与AI技术的应用 AI压缩技术的发展与应用 英特尔与阿里巴巴在AI领域的合作 AIPC时代的…

司铭宇老师:销售经理培训课程内容

销售经理是销售团队的核心领导,他们的能力和素质直接影响到整个团队的绩效。针对销售经理的培训课程内容应涵盖多个方面,旨在提升销售经理的领导力、团队管理能力、沟通技巧和市场分析能力。以下是一篇关于针对销售经理的培训课程内容的文章,…

逻辑回归代价函数

逻辑回归的代价函数通常使用交叉熵损失来定义。这种损失函数非常适合于二元分类问题。 本篇来推导一下逻辑回归的代价函数。 首先,我们在之前了解了逻辑回归的定义:逻辑回归模型是一种用于二元分类的模型,其预测值是一个介于0和1之间的概率…

ESP32 - Thonny+MicroPython+ESP32开发环境搭建

ThonnyMicroPythonESP32开发环境搭建 ①下载Thonny②下载MicroPython③下载对应驱动④烧录MicroPython到EPS32⑤Thonny与ESP32交互到此为止,我们就搭建好了整个流程 ①下载Thonny 链接:https://thonny.org/ ②下载MicroPython 链接:https:…

2023年第四届 “赣网杯” 网络安全大赛 gwb-web3 Write UP【PHP 临时函数名特性 + 绕过trim函数】

一、题目如下: 二、代码解读: 这段代码是一个简单的PHP脚本,它接受通过GET请求传递的两个参数:‘pass’和’func’: ① $password trim($_GET[pass] ?? );:从GET请求中获取名为’pass’的参数&#xff0…

0086-Java_四种进制介绍

文章目录 1 进制(程序员的基本功)1.1 进制介绍1.2 进制的转换(基本功)1.2.1 进制转换的介绍 1.3 二进制在运算中的说明1.4 原码、反码、补码(重点 难点) 1 进制(程序员的基本功) 1.1 进制介绍 对于整数,有四种表示方式: 二进制:0,1 &#x…

command ‘python.execSelectionInTerminal‘ not found

command python.execSelectionInTerminal not found 问题描述解决方案 问题描述 选择解释器提示: 解决方案 在左侧栏中搜索workspaceUnsupported 可以看到Python在受限制模式下运行 关闭受限制模式 再来看就没有受限制了 这就可以选择解释器了 参考1 参考…

细说 MySQL 用户安全加固策略

这是一篇关于如何加强 MySQL 用户安全的文章,通读全文您可以了解密码复杂度策略、连接控制插件以及密码变更策略的相关知识。本文内容仅供参考,请在操作时以实际环境为准,避免造成经济损失。 作者:余振兴,爱可生 DBA 团…

7-1 抢红包(PTA - 数据结构)

没有人没抢过红包吧…… 这里给出N个人之间互相发红包、抢红包的记录,请你统计一下他们抢红包的收获。 输入格式: 输入第一行给出一个正整数N(≤104),即参与发红包和抢红包的总人数,则这些人从1到N编号。…

[每周一更]-(第31期):Mysql安装汇总

写自:20230204 23:25 一. mysql rpm二进制包 rpm -Uvh http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm yum install mysql-community-server service mysqld start set password password(“123456”)二. mysql yum安装 1、安装查看有没有安装…

Dbvis 链接Oracle数据库

安装 Dbvisualizer 后 1,打开Dbvisualizer,单机左键 图片标注处。 2,点击右键,显示。 3,点击Creat Datebase Connection 4,点击 use wizard ,填写 地址,下一步 5,选择 Orcal Thin …

华为atlas300安装教程

1、安装包位置: /data/ai_install_packages 2、添加HwHiAiUser用户: groupadd -g 1000 HwHiAiUser useradd -g HwHiAiUser -u 1000 -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash 3、安装驱动: ./Ascend-hdk-310p-npu-driver_6.0.0_l…

【小技巧】得力多功能计算器,小数变成10的负幂,应该怎么设置正常显示小数

1.本人计算器如图 2.点击MODE,再次点击可以翻页,找到NORM,如图是3 3.1次方,2是小数点。再摁一下2即可

速通Python基础语法--变量篇

Python设计哲学 解决一个问题,只提供一种方案:变量类型 写法灵活,一行代码表达更多意思,提高语言表达能力:动态类型(两面性) 颜色标识: 紫色:Python与C语言的区别 一、常量与表达式 二、变量 1、认识变量(存数据&am…

读书笔记产品经理学习笔记1-忘掉技术,先看客户需求

技术到产品思维的转换 以前做技术的时候,扮演的角色是怎样多快好省的完成开发。现在做产品了,你得自己定产品方案,让别人来开发。最重要的是先弄清楚客户的需求是什么,要解决什么问题,再看产品怎么设计,然…

中国风春节倒计时【实时倒计时】

<head><meta charset="UTF-8"><meta name="apple-mobile-web-app-title

Elasticsearch——索引数据

索引可以说是Elasticsearch中非常重要的模块&#xff0c;一个索引可以视作关系数据库中的一张表&#xff0c;本帖将详细介绍与Elasticsearch索引相关的各种功能等。主要内容如下&#xff1a; 索引映射(mapping)结构的定义方法&#xff0c;常用的各种字段类型和动态映射的使用。…

pytorch实现DCP暗通道先验去雾算法及其onnx导出

pytorch实现DCP暗通道先验去雾算法及其onnx导出 简介实现ONNX导出导出测试 简介 最近在做图像去雾&#xff0c;于是在Pytorch上复现了一下dcp算法。暗通道先验去雾算法是大神何恺明2009年发表在CVPR上的一篇论文&#xff0c;还获得了当年的CVPR最佳论文。 实现 具体原理就不…

微课录课软件盘点,让教学变得更轻松!

“有人知道怎么录制课程吗&#xff1f;上网课的时候&#xff0c;老师讲课的速度很快&#xff0c;有些知识点还没理解&#xff0c;就已经跳过了&#xff0c;这时我就想把网课录下来&#xff0c;课后再进行复习&#xff0c;大家有什么录课的软件推荐吗&#xff1f;” 随着信息技…

微信小程序动态导航栏(uniapp + vant)

本文使用到vant的van-tabbar组件来实现 一、uniapp整合vant ui vant小程序版本:https://vant-contrib.gitee.io/vant-weapp/#/home 注:vant并没有uniapp的版本,所以此处是引入小程序版本的ui 1. 下载vant编译后代码 https://github.com/youzan/vant-weapp/tree/dev/dist 2…