Linux-初学者系列_docker

news2024/11/18 5:39:19

目录

  • Linux-初学者系列_docker
      • 一、概念
      • 二、安装docker(可忽略 跳到第三步)
      • 三、获取镜像
        • 1、下载nginx镜像
        • 2、查看本地镜像
        • 3、将镜像运行成一个容器
          • 01-查看运行的容器
          • 02-通过ip+端口号访问
          • 03-删除端口
          • 04-指定镜像名字
        • 4、dockerfile构建镜像
        • 5、dockersave构建镜像
          • 删除z2
        • 6、docker load

Linux-初学者系列_docker

docker是一个虚拟机,主要应用在Linux和后台一些应用的虚拟机,和常见的VM有很多相似的地方。

一、概念

镜像:

需要下载的系统文件iso…

容器:

正在运行中的一个虚拟机
docker中多了一些tar文件,可以通过指令重新加载成一个镜像。
dockerfile通过写如何构建的步骤,可以将dockerfile构建成镜像。
仓库保存了很多镜像,以及第三方镜像,可以通过docker pull下载镜像/push指令上传。

二、安装docker(可忽略 跳到第三步)

此处我用到的是centos7,使用yum源安装。

可以根据开发者社区Docker CE镜像文档配置。

链接: https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.3e221b11rH6ppU

在这里插入图片描述

以下是根据文档配置过程,可忽略。

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

在这里插入图片描述

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

在这里插入图片描述

sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

sudo yum makecache fast

sudo yum -y install docker-ce

在这里插入图片描述

sudo service docker start

在这里插入图片描述

vim /etc/yum.repos.d/docker-ce.repo

在这里插入图片描述

yum list docker-ce.x86_64 --showduplicates | sort -r

在这里插入图片描述

sudo yum -y install docker-ce-版本号

在这里插入图片描述

docker version

在这里插入图片描述

systemctl status docker

在这里插入图片描述

三、获取镜像

从远程仓库上面pull下载,此处列举nginx

1、下载nginx镜像

[root@bogon ~]# docker pull nginx

在这里插入图片描述

docker pull nginx等于docker pull nginx:latest

不指定版本,默认就是最新版本。

在这里插入图片描述

此时nginx镜像就已经下载下来了。

2、查看本地镜像

docker images

在这里插入图片描述

3、将镜像运行成一个容器

通过run指令将nginx镜像运行成一个正在运行的容器(虚拟机)。

在docker的使用中常用docker run指令跑镜像,比较重要的参数:

-d后台运行

-p映射内外端口,先写外部端口再写内部端口

–name容器运行起来后的名字

-v映射文件

[root@bogon ~]# docker run -d -p 80:80 nginx

在这里插入图片描述

此时d4…这一串是运行的容器id。

01-查看运行的容器
[root@bogon ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                               NAMES
d42f5d21d47d   nginx     "/docker-entrypoint.…"   2 minutes ago   Up 2 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp   pensive_mcclintock

在这里插入图片描述

02-通过ip+端口号访问
我的虚拟机ip地址是:192.168.18.132
端口号是80
浏览器访问:
192.168.18.132:80

我们会发现已经运行起来nginx,说明外部端口映射里面的80,同时也可以启动多个。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

总结:通过pull和run将nginx容器运行起来,例如想对nginx进行修改,可以通过docker exec -it 容器id。

[root@bogon ~]# docker exec -it d4 bash
root@d42f5d21d47d:/# 

index文件放在/usr/share/nginx/html中

在这里插入图片描述

直接修改index文件:

root@d42f5d21d47d:/usr/share/nginx/html# echo hello > index.html
root@d42f5d21d47d:/usr/share/nginx/html# cat index.html
hello

80端口会显示:

在这里插入图片描述

退出d4容器

root@d42f5d21d47d:/usr/share/nginx/html# exit
03-删除端口

通过docker rm -f强制删除81端口。

在这里插入图片描述

04-指定镜像名字

通过docker commit指令指定一个镜像的名字,比如说z1。

[root@bogon ~]# docker commit d4 z1
sha256:7b9573603d62f9dcd9c68ec72ff7582d1d563651f8edcf8e69ddb6bb6dd0fe77
[root@bogon ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
z1           latest    7b9573603d62   21 seconds ago   142MB
nginx        latest    a7be6198544f   19 hours ago     142MB
[root@bogon ~]# docker run -d -p 90:80 z1
75e5d60e8a96fc137ea42cef1f07fc66bbc3c32bbfae1fa17370d00cd636ceb5

在这里插入图片描述

通过访问90端口,可以看到页面是hello,说明修改后的容器保存成镜像,重新运行,它可以保持这个变化。

4、dockerfile构建镜像

通过dockerfile,新建一个dockerfile文件。

此时可以学习下dockerfile语法。

在这里插入图片描述

通过FROM指定docker构建的基础镜像,是基于nginx镜像,将当前目录下的所有文件拷贝到/usr/share/nginx/html文件夹下,当前我们创建了一个index.html文件,里面可以写外部的文件。

在这里插入图片描述

通过docker build -t z2 .指定的是当前目录下的dockerfile去构建。

在这里插入图片描述

通过100号端口映射z2

在这里插入图片描述

在这里插入图片描述

5、dockersave构建镜像

使用dockersave讲z2(镜像名)保存到zhang.tar文件里。

[root@bogon ~]# docker save z2 >zhang.tar

在这里插入图片描述

删除z2

因为这个z2有个容器是基于镜像的所以无法删除,需要将这个容器也删除。

在这里插入图片描述

6、docker load

当前z2镜像已经删除,通过docker save <zhang.tar拿到镜像

在这里插入图片描述

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

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

相关文章

HLS入门实践

HLS入门实践 文章目录 HLS入门实践1.HLS基本知识简述1.1 HLS简介1.2 HLS相关知识概念 2. HLS技术认识2.1 与VHDL/Verilog关系2.2 关键技术问题2.3 存在的技术局限性 3. HLS 完成 led 灯闪烁3.1. 新建一个 HLS 工程3.2 添加源文件3.2.1 led.h3.2.2 led.cpp3.2.3 添加 C 仿真文件…

<Linux开发>驱动开发 -之-pinctrl子系统

&#xff1c;Linux开发&#xff1e;驱动开发 -之-pinctrl子系统 交叉编译环境搭建&#xff1a; &#xff1c;Linux开发&#xff1e; linux开发工具-之-交叉编译环境搭建 uboot移植可参考以下&#xff1a; &#xff1c;Linux开发&#xff1e; -之-系统移植 uboot移植过程详细记…

Zabbix 2.0 实验

zabbix自动发现与自动注册 ---------------nginx自动监控报警------------------- 在/etc/nginx/conf.d/default.conf 文件内添加 location /nginx_status {stub_status on;access_log off;allow 127.0.0.1;deny all;}curl -s http://127.0.0.1/nginx_status curl -s http:/…

卷麻了,面试了一个00后,绝对能称为是卷王之王....

公司前段缺人&#xff0c;也面了不少测试&#xff0c;结果竟然没有一个合适的。一开始瞄准的就是中级的水准&#xff0c;也没指望来大牛&#xff0c;提供的薪资也不低&#xff0c;面试的人很多&#xff0c;但平均水平很让人失望。令我印象最深的是一个00后测试员&#xff0c;他…

数据链路层:Ethernet以太网协议

首先Ethernet、IEEE802.3、PPP和HDLC都是数据链路层的协议&#xff0c;只不过后面三个不常用而已。Ethernet和IEEE802.3属于以太链路层协议&#xff0c;数据链路层最常用的协议是Etnernet以太网协议。 定义&#xff1a; Ethernet以太网协议&#xff0c;用于实现链路层的数据传…

Build History

ISO 登录https://next.itellyou.cn/Original/ Window 盛千装机助手https://wwza.lanzouo.com/s/SQZJ Ubuntu Windows / Linux —— U盘启动盘制作 - 知乎准备工作&#xff1a;系统镜像&#xff1a; Windows 10 / Windows 11 & Manjaro / Ubuntu &#xff08;自行选择下载…

MySQL主从同步(开GTID)

目录 一、搭建简单的主从同步 二、mysql删除主从&#xff08;若没有配置过可以不用进行这一步&#xff09; 1、停止slave服务器的主从同步 2、重置master服务 三、开启GTID 1、Master配置 2、Slave配置 一、搭建简单的主从同步 GTID原理&#xff1a;http://t.csdn.cn/g…

3.36 haas506 2.0开发教程-example -OLED显示生成二维码(python)

OLED显示生成二维码-python 应用场景案例说明1.OLED显示规则2.硬件3.连线图 代码源码链接 应用场景 二维码在各个领域中的应用越来越广泛&#xff0c;其中一些主要应用场景包括&#xff1a; 电子商务&#xff1a;通过二维码&#xff0c;用户可以轻松链接到商家的网站&#xff…

3年前的我废人一个,庆幸当时入了软件测试这行

为什么会学习软件测试&#xff1f; 已经28岁了&#xff0c;算一下快过去3年了&#xff0c;刚毕业那会工作了一年&#xff0c;因为自己当时很迷茫&#xff08;觉得自己挺废的&#xff09;&#xff0c;所以就没去工作就一直在家&#xff0c;家里固定每个月给点生活费&#xff0c…

Pytest模式执行python脚本不生成allure测试报告

1.安装allure 下载allure的zip安装包将allure.zip解压到python的lib目录中将allure的bin路径添加到环境变量path中(注意&#xff1a;配置环境变量后&#xff0c;一定要重启电脑。因为环境变量没生效&#xff0c;我搞了半天在pycharm不能生成报告&#xff0c;在cmd中可以生成报…

HTML+CSS实训——Day03——仿网易云音乐的主页界面

仓库链接:https://github.com/MengFanjun020906/HTML_SX 一些今天需要用到的知识点 弹性盒子 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedg…

安卓、鸿蒙系统通通中招,手机指纹可被轻松破解

正文开始前问下大家&#xff0c;你的手机都采用了哪些解锁方式&#xff1f; 经过这么些年发展&#xff0c;目前手机的解锁方式可谓是五花八门。 从最开始的数字密码到图案密码&#xff0c;再到后来的面部解锁、虹膜解锁、指纹解锁等。 数字密码虽然最早出现&#xff0c;但放到…

深度学习学习率

目录 1 什么是学习率 2 学习率对网络的影响 3 学习率的设置 3.1 分段常数衰减&#xff08;Piecewise Decay&#xff09; 3.2 指数衰减&#xff08;Exponential Decay&#xff09; 3.3 自然指数衰减&#xff08;Natural Exponential Decay&#xff09; 3.4 多项式衰减&…

2023年度鄂州中级工程师职称首次举行水测哟,甘建二告诉你

2023年鄂州中级工程师职称首次开始举行水测&#xff0c;以前都不是这个样子&#xff0c;鄂州算是职称评审也是有一个改革吧&#xff0c;关于鄂州中级职称申报有一些需要大家注意的东西&#xff0c;今天甘建二这边给大家讲解一下&#xff0c;希望对今年想要评职称的小伙伴有帮助…

新手如何学习挖漏洞?看这篇就够了【网络安全】

前言 有不少阅读过我文章的伙伴都知道&#xff0c;我从事网络安全行业已经好几年&#xff0c;积累了丰富的经验和技能。在这段时间里&#xff0c;我参与了多个实际项目的规划和实施&#xff0c;成功防范了各种网络攻击和漏洞利用&#xff0c;提高了安全防护水平。 也有很多小伙…

使用go语言构建区块链 Part2.工作量证明

英文源地址 简介 在上一篇文章中, 我们构建了一个非常简单的数据结构, 这是区块链数据库的本质.并且我们可以通过它们之间的链式关系来添加区块: 每个区块都链接到前一个区块.哎, 我们的区块链实现有一个重大缺陷: 向链中添加区块既容易又便捷. 区块链和比特币的关键之一是增…

pix2pixHD代码---readme

1&#xff1a;基础配置 要求大于等于11G的显卡&#xff0c;安装pytorch&#xff0c;下载代码。 2&#xff1a;测试 dataset文件中放的是一些例子&#xff0c;下载cityscape的预训练权重&#xff0c;放入到checkpoints文件夹下&#xff0c;测试模型。测试结果放在results文件夹…

【正点原子STM32连载】 第十八章 独立看门狗(IWDG)实验 摘自【正点原子】STM32F103 战舰开发指南V1.2

1&#xff09;实验平台&#xff1a;正点原子stm32f103战舰开发板V4 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html 第十八…

【Netty】Netty 架构设计(二)

文章目录 前言一、Selector 模型1.1 SelectableChannel1.2 Channel 注册到 Selector1.3 SelectionKey1.4 遍历 SelectionKey 二、事件驱动2.1 Channel2.2 回调2.3 Future2.4 事件及处理器 三、责任链模式3.1 责任链模式的优缺点3.2 ChannelPipeline3.3 将事件传递给下一个处理器…

从事软件测试2年跳槽4次,不给你涨薪真不怪老板……

前几天和朋友们聚餐&#xff0c;发现了一个有意思的现象。 所谓的聚餐其实就是大家对于工作生活的一个大型倒苦水现场。 最近工作太TM烦心了&#xff0c;越来越觉得没有意思了&#xff0c;感觉没啥前途&#xff0c;也不给人涨薪。 我也是&#xff0c;不仅工作压力大&#xff0…