Docker:安装和使用教程

docker官网

docker中文

docker文档

docker-hub官网

docker-desktop官网

一、docker简介

在这里插入图片描述
简介翻译
Docker是一个用于开发、发布和运行应用程序的开放平台。Docker使您能够将应用程序从基础设施中分离出来,以便快速交付软件。使用Docker,您可以像管理应用程序一样管理基础架构。通过利用Docker的方法来交付、测试和部署代码,您可以显著减少编写代码和在生产环境中运行代码之间的延迟。

在这里插入图片描述
翻译
Docker提供了在称为容器的松散隔离环境中打包和运行应用程序的能力。隔离和安全性使您可以在给定主机上同时运行多个容器。容器是轻量级的,并且包含运行应用程序所需的一切,因此您不需要依赖于主机上安装的东西。您可以在工作时共享容器,并确保与您共享的每个人都获得以相同方式工作的相同容器。
Docker提供了工具和平台来管理容器的生命周期:
使用容器开发应用程序及其支持组件。
容器成为分发和测试应用程序的单元。
准备好后,将应用程序部署到生产环境中,作为容器或编排服务。无论您的生产环境是本地数据中心、云提供商还是两者的混合,这都是一样的。

在这里插入图片描述
翻译
我可以用Docker做什么?
快速、一致地交付应用程序
Docker允许开发者使用本地容器在标准化环境中工作,从而简化了开发生命周期。容器非常适合持续集成和持续交付(CI/CD)工作流。
考虑以下示例场景:
您的开发人员在本地编写代码,并使用Docker容器与同事共享他们的工作。
他们使用Docker将他们的应用程序推送到测试环境中,并运行自动和手动测试。
当开发人员发现错误时,他们可以在开发环境中修复它们,并将它们重新部署到测试环境中进行测试和验证。

二、安装docker-desktop

收费提醒
在这里插入图片描述
翻译
在规模较大的企业(员工超过250人或年收入超过1000万美元)中,Docker Desktop的商业使用需要付费订阅。

点击 打开 docker-desktop官网
在这里插入图片描述
提醒:没有docker账号的,记得创建docker账号, 需要开启代理访问

docker-desktop安装包下载完后直接安装,安装完毕后测试是否可以正常启动,首次启动docker-desktop成功后,桌面出现的界面是几个教程,示例如下图所示:
在这里插入图片描述
在这里插入图片描述

三、docker-desktop界面介绍

1、Settings > General界面
在这里插入图片描述

2、Settings > Resources > Advanced界面1
在这里插入图片描述

2、Settings > Resources > Advanced界面2
在这里插入图片描述

3、Settings > Resources > Proxies界面
在这里插入图片描述
配置不走代理示例
使用阿里云镜像的代理配置
localhost,127.0.0.1,*.aliyuncs.com

4、Settings > Docker Engine界面
在这里插入图片描述
国内镜像源
中国区官方镜像:https://registry.docker-cn.com
清华源:https://docker.mirrors.ustc.edu.cn
腾讯源:https://mirror.ccs.tencentyun.com
中科大::https://docker.mirrors.ustc.edu.cn
网易: http://hub-mirror.c.163.com

其他可配置项请点击Daemon CLI (dockerd)文档 查看,示例如下图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、Settings > Builders界面
在这里插入图片描述

6、Settings > Kubernetes界面
在这里插入图片描述

7、Settings > Extensions(扩展)界面
在这里插入图片描述

8、Containers(容器)界面
在这里插入图片描述

9、Images > Local界面
在这里插入图片描述

9、Images > Hub界面
在这里插入图片描述

四、docker常用命令

查看详细信息:docker info
在这里插入图片描述

查看版本信息:docker version
在这里插入图片描述

docker -v
在这里插入图片描述

查看镜像:docker image ls
在这里插入图片描述

查看显示所有的容器,包括未运行的:docker ps -a
在这里插入图片描述

查看正在运行的容器:docker ps
在这里插入图片描述

停止运行的容器:docker stop 容器的id
示例:docker stop 07fbc207527b
在这里插入图片描述

启动某个容器:docker start 容器的id
示例:docker start 07fbc207527b
在这里插入图片描述

创建并运行一个容器,处于运行状态:docker run
让一个运行的容器暂停:docker pause
让一个容器从暂停状态恢复运行:docker unpause
删除一个容器:docker rm 容器的id
进入容器执行命令:docker exec
查看容器的运行日志:docker logs
查看所有正在运行的容器:docker ps
删除不需要的镜像:docker rmi

查看某个容器的日志:docker logs 容器名称
示例:docker logs zookep01 查看 容器名称为zookep01的日志
在这里插入图片描述

查看某个容器的日志:docker logs 容器id
示例:docker logs 07fbc207527b

拉取镜像:docker pull 镜像名称
获取nginx容器示例:docker pull nginx

创建并运行一个容器(nginx)
docker run --name containerName -p 80:80 -d nginx
本机创建并运行名称为testNginx的nginx容器
docker run --name testNginx -p 8086:86 -d nginx

指令详解
docker run 表示创建并运行一个容器
-name表示给容器起一个名字
-p表示将宿主机端口和容器端口映射,冒号左侧是宿主机端口,冒号右侧容器端口
-d表示后台运行容器
nginx表示镜像名称
注意:默认情况下,容器是隔离环境,我们直接访问宿主机的80端口,肯定访问不到容器中的nginx。
容器是对外隔离的,任何请求来访问容器都会被拒绝, 所以我们这边将容器与主机的端口做映射,用户通过访问主机的端口来间接访问容器。

查看容器IP地址:docker inspect 容器ID
容器id为07fbc207527b示例:docker inspect 07fbc207527b

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

springboot196高校教师科研管理系统

Spring Boot高校教师科研管理系统设计与实现 摘 要 社会发展日新月异,用计算机应用实现数据管理功能已经算是很完善的了,但是随着移动互联网的到来,处理信息不再受制于地理位置的限制,处理信息及时高效,备受人们的喜…

@ControllerAdvice 的介绍及三种用法

ControllerAdvice 的介绍及三种用法 浅析ControllerAdvice 首先,ControllerAdvice本质上是一个Component,因此也会被当成组建扫描,一视同仁,扫扫扫。 然后,我们来看一下此类的注释: 这个类是为那些声明了&…

一周学会Django5 Python Web开发-项目配置settings.py文件-数据库配置

锋哥原创的Python Web开发 Django5视频教程: 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计17条视频,包括:2024版 Django5 Python we…

linux-firewalld防火墙端口转发

目的:通过统一地址实现对外同一地址暴露 1.系统配置文件开启 ipv4 端口转发 echo "net.ipv4.ip_forward 1" >> /etc/sysctl.confsysctl -p 2.查看防火墙配置端口转发之前的状态 firewall-cmd --statefirewall-cmd --list-all 3.开启 IP 伪装 firewall-cm…

【HarmonyOS】hdc 环境变量设置

hdc(HarmonyOS Device Connector)是 HarmonyOS 为开发人员提供的用于调试的命令行工具,通过该工具可以在 windows/linux/mac 系统上与真实设备或者模拟器进行交互。 hdc 工具通过 HarmonyOS SDK 获取,存放于 /Huawei/Sdk/openhar…

C++多重继承

C多重继承 C中的多重继承是指一个类可以从多于一个的基类派生出来,这允许在一个派生类中继承多个基类的特性和行为。多重继承增加了C的灵活性和表达能力,但同时也带来了一些复杂性,如菱形继承问题和潜在的命名冲突。 基本用法 定义一个多重…

【python之美】减少人工成本之合并文本内容_5

多个文本内容合并一个 准备条件 import ospath r"C:\\Users\\Administrator\\Desktop\\text\\" result_file os.path.join(path, result.txt) filenames os.listdir(path) # filenames.sort() # 排序with open(result_file, w) as f:for i, filename in enumer…

【数据结构之排序算法】

数据结构学习笔记---010 数据结构之排序算法1、排序的基本概念及其运用1.1、常见排序算法的实现2、插入排序的实现2.1、直接插入排序2.1.1、直接插入排序的实现2.1.1.1、直接插入排序InsertSort.h2.1.1.2、直接插入排序InsertSort.c2.1.1.3、直接插入排序main.c2.1.2、直接插入…

【深度学习:开源数据注释】开源数据注释完整指南

【深度学习:Automated Data Annotation】开源数据注释完整指南 什么是开源数据标注工具?您会使用开源标签工具做什么?主要的开源数据标注工具有哪些?CVATMONAI LabelLabelMeRIL-ContourSefexa 使用开源注释工具的优点和缺点是什么…

openEuler 22.03 LTS 上源码安装 PostgreSQL 15

安装PostgreSQL 15 1 安装必要的依赖 #yum install -y readline-devel zlib-devel gcc2、下载源码 # wget https://ftp.postgresql.org/pub/source/v15.6/postgresql-15.6.tar.gz # tar -xzvf postgresql-15.6.tar.gz3 配置 # cd postgresql-15.6/ # ./configure4 编译安装…

RK3399平台开发系列讲解(调试篇)死锁检测工具lockdep

🚀返回专栏总目录 文章目录 一、常见死锁场景二、lockdep使用方法三、lockdep技术原理3.1、锁类状态3.2、检查规则沉淀、分享、成长,让自己和他人都能有所收获!😄 📢介绍死锁检测工具lockdep。 资料 一、常见死锁场景 场景1:进程重复申请同一个锁,称为AA死锁。例如…

qt 开发 “控件之家“

本篇文章我们来描述一下Qt 控件 是qt中最基本 也是最难缠的 有种“小鬼难缠的感觉” qt常用控件大集合 Qt是一个广泛使用的跨平台应用程序框架,它提供了许多用于构建图形用户界面(GUI)的控件。以下是一些Qt中常用的控件: QPushButton:这是…

LV.23 D2 开发环境搭建及平台介绍 学习笔记

一、Keil MDK-ARM简介及安装 Keil MDK,也称MDK-ARM,Realview MDK (Microcontroller Development Kit)等。目前Keil MDK 由三家国内代理商提供技术支持和相关服务。 MDK-ARM软件为基于Cortex-M、Cortex-R4、ARM7、ARM9处理器设备…

基于requests框架实现接口自动化测试项目实战

requests库是一个常用的用于http请求的模块,它使用python语言编写,在当下python系列的接口自动化中应用广泛,本文将带领大家深入学习这个库,Python环境的安装就不在这里赘述了,我们直接开干。 01、requests的安装 wi…

深夜突发! OpenAI震撼发布了SORA文生视频模型,对职场人的影响可能跟你想的不一样

深夜突发! OpenAI震撼发布了SORA文生视频模型,对职场人的影响可能跟你想的不一样。 马上就要节后返工了,顾问老师也早已回到了温暖的广州。与一位同城的学员相聚在老广州的一个茶楼中,喝起了下午茶。面对各式的广式茶点,在淡淡的茶…

C++并发编程 -3.同步并发操作

本文介绍如何使用条件变量控制并发的同步操作、C 并发三剑客,函数式编程 一.条件变量 1.概念 C条件变量(condition variable)是一种多线程编程中常用的同步机制,用于线程间的通信和协调。它允许一个或多个线程等待某个条件的发生…

迷失在前端框架中的初级开发者,总觉得大厦要从二层开始建

知乎有人提问:现在是框架主导前端时代,还有必要学习Html,CSS和JavaScript吗?我看很愕然,框架可以节省力气,难道都可以替代前端基础了吗? 一、起因 因为贝格前端工场的主营业务就是前端开发&…

【中英双语】OpenAI Sora文本转视频模型的技术分析!全新的AI视频叙事时代即将到来!

大家好,我是木易,一个持续关注AI领域的互联网技术产品经理,国内Top2本科,美国Top10 CS研究生,MBA。我坚信AI是普通人变强的“外挂”,所以创建了“AI信息Gap”这个公众号,专注于分享AI全维度知识…

Shellcode免杀对抗(C/C++)

Shellcode C/C免杀,绕过360安全卫士、火绒安全、Defender C/C基于cs/msf的上线 首先是测试一下shellcode上线,主要是俩种方法 测试环境 攻击机:kali2023 靶机:win10 msf方法 首先是启动msf msfconsole 然后msf生成一个sh…

【C语言】linux内核tcp/ip协议代码

一、linux内核tcp/ip协议源码有哪些? Linux内核中实现TCP/IP协议栈的源代码主要位于内核源码树的net/ipv4和net/ipv6目录下,针对IPv4和IPv6协议。不单是TCP/IP协议,还包含了UDP以及其他相关的网络层协议实现。 这里是一些与TCP/IP协议栈相关…