Docker快速入门

2023-05-16

1.基本概念、用途、核心思想

docker应用广泛

docker是一个用来装程序及其环境的容器,属于linux容器的封装,提供简单易用的容器使用接口。

解决了环境配置的难题,每台电脑环境都不一样,相比虚拟机,容器体积小启动快相当于轻量化虚拟机。

docker提供了统一的环境,快速拓展,弹性伸缩的云服务,防止其他用户的进程把服务器资源占用过多

docker特点标准化运输方式,存储方式,API接口

2.Docker的组成、架构、重要概念

在这里插入图片描述

3.Docker的安装

首先需要Linux操作系统,我使用的是cenOS7

登陆root用户

查看Linux版本

cat /etc/redhat-release

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lSw3UODa-1660628383023)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816120826300.png)]

1) 配置国内yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

清理软件源

yum clean all

读取新的软件源

yum makecache
2) 卸载旧版本
yum remove docker \

​         docker-client \

​         docker-client-latest \

​         docker-common \

​         docker-latest \

​         docker-latest-logrotate \

​         docker-logrotate \

​         docker-engine

如果yum报告未安装这些软件包,也没问题。

3) 更新yum
yum update
4) 安装所需的软件包
yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

5) 使用以下命令来设置稳定的存储库。
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2) 查看docker版本
yum list docker-ce --showduplicates | sort -r
6) 安装指定的版本
yum install docker-ce-18.09.0 docker-ce-cli-18.09.0 containerd.io
7) Docker 是服务器----客户端架构。命令行运行docker命令的时候,需要本机有 Docker 服务。用下面的命令启动
systemctl start docker

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-riO9jZas-1660628383024)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816121659899.png)]

8) 安装完成后,运行下面的命令,验证是否安装成功。

docker version

或者

docker info

4.第一个Docker容器

1)下载镜像
 docker pull [OPTIONS] NAME[:TAG]

OPTIONS:配置

NAME:名字

TAG:版本,默认最新版本

下载hello -world镜像

docker pull hello-world

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F0a0WRDG-1660628383024)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816122446255.png)]

查看本机镜像

docker images

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mHWRhAP0-1660628383025)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816122530900.png)]

2)运行本机镜像

Docker运行镜像命令

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

运行hello-world镜像

docker run hello-world

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DBp1VslG-1660628383025)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816122815639.png)]

5.nginx的前、后台运行

1)首先去网易云镜像站找niginx镜像地址

https://c.163yun.com/hub#/home

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EB9lKzM5-1660628383026)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816123159671.png)]

docker pull hub.c.163.com/library/nginx:1.13.0
docker run hub.c.163.com/library/nginx:1.13.0

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G7Km23c2-1660628383026)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816123452132.png)]

这样就在前台运行了但是就不能操作当前页面了,按ctrl+c和退出界面可以退出nginx。

可以新开个会话,测试nginx是否运行

docker ps

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LLv3j7z8-1660628383026)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816130641231.png)]

回到启动的会话,按住ctrl+c 退出nginx

以后台方式运行nginx

docker run -d hub.c.163.com/library/nginx:1.13.0

d:参数,分享的意思,

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5vR7MPRQ-1660628383026)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816130934494.png)]

进入新开的会话,测试nginx是否运行

docker ps

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z9Zrfzri-1660628383027)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816131049231.png)]

后台运行结束命令

docker stop [CONTAINER ID]

进入容器查看内部

docker exec -it [这里输入CONTAINERID] bash
例:docker exec -it 6268c04d7297 bash

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HQMblLUp-1660628383027)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816131413163.png)]

然后就进入了容器内部,在这里新建文件,不会影响外面。

创建名为1的文件

touch 1

查看nginx存放位置

which nginx

6.Docker网络模式

1)Bridge

先退出nginx

docker stop [CONTAINER ID]

本机端口映射到容器端口

docker run -d -P  hub.c.163.com/library/nginx:1.13.0

查看分配的端口

docker ps

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8YjoSioA-1660628383028)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816132321976.png)]

查看端口状态

netstat -na|grep 8080

然后在浏览器访问

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JYHOqeFi-1660628383028)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816132526364.png)]

2)Host
3)None

7.制作自己的Docker容器,dockerfile实战

推广自己的软件,或者把自己的程序打包好给别人运行,都需要制作镜像。

创建dockerfile文件

touch Dockerfile

编辑文件

vim Dockerfile

写入

# 引入基本镜像
FROM alpine:latest
# 作者信息
MAINTAINER imooc
# 执行语句
# 打印hello my dockerfile
CMD echo 'hello my dockerfile'

退出保存,查看文件

cat Dockerfile

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x2YbCfcp-1660628383029)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816133237416.png)]

根据文件,制作镜像

docker bulid -t hello_docker .

"."代表当前路径

制作好后查看本地镜像

docker images

运行镜像

docker run hello_docker

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2rSPfSCp-1660628383029)(C:\Users\YangHaiBo\AppData\Roaming\Typora\typora-user-images\image-20220816133446594.png)]

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker快速入门 的相关文章

  • Ubuntu16.04安装deb包

    deb包是Debian xff0c Ubuntu等Linux发行版的软件安装包 xff0c 扩展名为 deb xff0c 是类似于rpm的软件包 xff0c Debian xff0c Ubuntu系统不推荐使用deb软件包 xff0c 因为
  • HCIE-RS面试--STP弊端

    1 收敛速度慢 监听状态15s是为了避免STP协议在收敛过程中产生临时环路 xff0c 让BPDU有足够的时间在整个网络进行传递 监听状态期间 xff0c MAC地址表受TC BPDU的影响会进行提前老化 xff0c 清除错误的MAC地址信
  • mapreduce 班级学生成绩统计

    这个是最近的一个实验 xff0c 其中这个实验老师的要求是 1 统计每个班成绩的最大值 最小值 并且输出姓名 如果有多个那么要都要输出 xff0c 然后输出每个班的平均值 再者就是每个班的成绩分布 xff0c 优秀良好 xff0c 及格不及
  • 解决修改css或js文件后,浏览器缓存未更新问题

    问题描述 xff1a 最近在上线新版本项目的时候 xff0c 发现有的用户的操作还是调用的老版本JS里面的内容 xff0c 这样就造成原来新的JS里面加上的限制不能限制用户的操作 xff0c 从而导致用户可以重复操作 问题产生原因 xff1
  • 最全UnityHub国际版下载链接Unity2022~2017各版本+Unity5.x【间歇性更新】

    Unity2022 2017各版本UnityHub国际版下载链接 间歇性更新 直链下载国际版UnityHub国际版下载链接Unity2022 xUnity2021 xUnity2020 xUnity2019 xUnity2018 xUnit
  • FreeRTOS教程——任务(一)

    文章目录 FreeRTOS教程 任务 xff08 一 xff09 概述任务状态任务优先级执行任务 单元xTaskCreatevTaskDeletevTaskDelayvTaskSuspendvTaskResume 综合实例 FreeRTOS
  • Maven的下载安装配置教程(详细图文)

    目录 一 简单了解一下什么是Maven 二 maven的下载 三 maven的安装 四 maven的环境变量配置 五 setting文件配置 六 开发工具配置Maven 一 简单了解一下什么是Maven Maven就是一款帮助程序员构建项目
  • ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程

    环境 xff1a OS X 10 10 5 43 JDK 1 8 步骤 xff1a 一 下载ELK的三大组件 E lasticsearch下载地址 xff1a https www elastic co downloads elasticse
  • 实时更新的Sci-Hub可用网址

    近期 xff0c Sci Hub似乎用起来又不流畅了 xff0c 有时候打开贼费劲 xff0c 而且有些网址又用不了 xff01 接下来给大家推荐一个网站 xff0c 他们会实时新Sci Hub网址 xff0c 大家可以去试试 xff01
  • RFC8314文档中对465端口和587端口的阐述

    最近在学习SMTP的时候发现SMTP在使用加密传输的时候涉及到465和587两个端口 xff0c 网上对两者之间的区别众说纷纭 xff0c 后来查到了RFC官方文档中对于这个争论较久的问题的定义和详细说明 xff0c 这里做转载和翻译用于记
  • nginx篇08-添加客户端证书认证

    本文主要介绍如何使用给nginx服务添加客户端证书认证从而实现双向加密 对于一般的https网站来说 xff0c 实际上https所使用的证书是属于单向验证 xff0c 即客户端单向验证服务器的安全性 xff0c 而服务器端是没有对客户端的
  • Linux 查找搜索命令 5种方式

    一 whereis命令 该指令会在特定目录中查找符合条件的文件 这些文件应属于原始代码 二进制文件 xff0c 或是帮助文件 该指令只能用于查找二进制文件 源代码文件和man手册页 xff0c 一般文件的定位需使用locate命令 简单理解
  • SUMO学习

    SUMO学习 SUMO简介1 车道模型2 跟驰模型跟驰模型CACC 3 变道模型1 Strategic change 战略变道2 Cooperative change 协同变道3 Tactical change 战术变道4 Obligato
  • 51单片机学习笔记4 -- 蜂鸣器控制

    蜂鸣器控制 1 蜂鸣器简介1 分类2 有源蜂鸣器和无源蜂鸣器3 区分有源蜂鸣器和无源蜂鸣器4 蜂鸣器驱动电路 2 电路图绘制3 蜂鸣器控制4 程序补充 1 蜂鸣器简介 蜂鸣器是一种一体化结构的电子讯响器 xff0c 采用直流电压供电 xff
  • 树莓派3B+安装系统,配置基本环境、更换国内镜像源,适用pi4

    树莓派3B 43 安装系统 系统镜像下载 树莓派官方镜像下载地址 xff1a 自行百度 xff0c 官方网站首页 xff0c 点击Downloads 安装镜像 准备一张8G以上的内存卡 xff0c 推荐16G以上 下载系统制作软件etche
  • Linux超强截图工具flameshot

    Pop OS自带的截屏快捷键如下 但讲道理这个是真的不好用 所以我们借助第三方的截图工具 xff0c 这里推荐flameshot 火焰截图 在终端键入以下命令即可安装 span class token function sudo span
  • 5/1-3 BP神经网络的改进及MATLAB实现(下)

    5 1 3 BP神经网络的改进及MATLAB实现 xff08 下 xff09 文章目录 5 1 3 BP神经网络的改进及MATLAB实现 xff08 下 xff09 1 自适应梯度下降法 xff08 Adagrad xff09 2 动量法
  • “操作无法完成因为其中的文件夹或文件已在另一个程序中打开”解决办法

    在windows系统中 xff0c 我们经常会遇到这样一个问题 xff1a 删除某一个文件或者文件夹 xff0c 被提醒 xff1a 操作无法完成 xff0c 因为其中的文件夹或文件已在另一个程序中打开 这个时候我们一般会先检查是否真的有程
  • windows下N卡提取或者刷VBIOS

    windows下N卡提取或者刷VBIOS 这里是简介 xff1a 在windows下怎么提取出显卡的VBIOS和刷VBIOS引用 本文已 GeForce MX450显卡为例 xff0c 需要借助工具 lt 1 gt 工具介绍 xff08 N
  • 论文:Threat of Adversarial Attacks on Deep Learning in Computer Vision: A Survey翻译工作

    关于对抗性攻击对深度学习威胁的研究 Naveed Akhtar and Ajmal Mian ACKNOWLEDGEMENTS The authors thank Nicholas Carlini UC Berkeley and Dimit

随机推荐

  • 802.1x认证方式(EAP中继认证与EAP终结认证)

    文章目录 1 前言2 协议说明3 报文分析EAP中继模式 MD5 challengeEAP终结模式 MD5 challengeRadius CHAP认证原理Message Authenticator消息验证器计算参考连接 xff1a 1 前
  • ubuntu 换源深层次解析

    换源也是一个容易出错的问题 xff0c 本文以树莓派为例展开 xff0c x86也是一样的操作 那么假设成立的话 xff0c 就要记住我们是在树莓派 xff08 arm xff09 上安装的ubuntu xff0c 不是X86 xff0c
  • MySql数据库查询(一)——单表查询

    1 查询所有字段 SELECT FROM 表名称 xff1b 例如查询book表中所有的数据 xff1a select from book 2 查询指定字段 SELECT 字段1 xff0c 字段2 xff0c 字段3 FROM 表名称 x
  • Linux系统安装Anaconda

    本文软件信息 xff1a 系统 xff1a RHEL8软件 xff1a Anaconda3 2022 10 Linux x86 64 sh Linux安装Anaconda的步骤都一样 xff0c 没啥差别 下载Anaconda的安装包 在官
  • 基于TensorFlow的VGG16模型源码

    我看了网上的一些源码程序 xff0c 自己下载跑一哈 xff0c 发现有很多的错误 xff0c 不知道是我电脑原因 xff0c 还是tensorflow版本问题 xff0c 我自己基于别人的源码修改了一些细节 xff0c 使程序可以顺利运行
  • 【vscode】c++使用vector报错ERROR: Unable to start debugging. Unexpected GDB output from command “-exec-run

    完整报错是在DEBUG CONSOLE ERROR Unable to start debugging Unexpected GDB output from command 34 exec run 34 During startup pro
  • Maven依赖改为Gradle写法

    Maven写法 lt dependency gt lt groupId gt org apache poi lt groupId gt lt artifactId gt poi lt artifactId gt lt version gt
  • 构造方法

    构造方法可以重载 xff08 可以直接给方法变量进行赋值 xff0c 方便些 xff0c 减少setter xff0c getter方法的使用 xff0c 但不是说setter xff0c getter方法没用 xff09 注意事项 xff
  • Java项目--书评网信息系统

    1 项目背景 在学习完ssm相关知识后 xff0c 有了基础能力就想通过完成一个javaweb项目来巩固自己所学知识以及在具体开发过程中找出自己的不足因此便完成了书评网信息系统 2 项目功能 手机端网站 首页 书籍详情页 评论区 登陆界面
  • String 中的replace

  • filewriter追加写入

  • 添加字符串到集合中

  • 图像矩(Hu矩)简介

    xff08 1 xff09 零阶矩 根据矩的定义 xff0c 二维图像的灰度用f x y 表示 xff0c 零阶矩m00表示为 xff1a 表示的是图像灰度的总和 xff08 2 xff09 一阶矩 图像的一阶矩m10和m01表示用来确定图
  • 图像处理之FAST特征点检测算法

    简介 https blog csdn net hujingshuang article details 46898007 FASText 上 Fast 角点 https blog csdn net peaceinmind article d
  • 常用的深度学习模型

    https blog csdn net jackkang01 article details 81064114
  • c++ 两数之和

    c 43 43 两数之和 题目 xff1a 给定一个整数数组 nums 和一个目标值 target xff0c 请你在该数组中找出和为目标值的那两个整数 xff0c 并返回他们的数组下标 你可以假设每种输入只会对应一个答案 但是 xff0c
  • Kubernetes学习笔记

    文章目录 基本概念 xff08 图解 xff09 问题汇总小坑记录node节点加入后 xff0c 网络插件问题connect connection refused 基本概念 xff08 图解 xff09 问题汇总 非常全的一篇 小坑记录 n
  • 解决方法:ChatGPT-OpenAI‘s services are not available in your country

    简单方法 xff1a 代理设置成全局代理 xff0c 并且使用可以访问OpenAI的国家节点 xff01 在浏览器中地址栏输入以下代码后回车 javascript window localStorage removeItem Object
  • Nacos2.2.0适配Oracle12C-建表ddl语句

    span class token keyword create span span class token keyword table span CONFIG INFO span class token punctuation span I
  • Docker快速入门

    1 基本概念 用途 核心思想 docker应用广泛 docker是一个用来装程序及其环境的容器 xff0c 属于linux容器的封装 xff0c 提供简单易用的容器使用接口 解决了环境配置的难题 xff0c 每台电脑环境都不一样 xff0c