运维高级学习--Docker(一)

Docker基本概念

Docker镜像:docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。
Docker容器:镜像运行时的实体,Docker利用容器来运行应用。镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。
Docker仓库:集中存放镜像文件的地方。通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本 。仓库分为公开仓库( Public)和私有仓库( Private) 两种形式,即Docker Registry 公开服务和私有Docker Registry 。

1.安装docker服务,配置镜像加速器

安装docker服务

#服务器版本
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
#内核版本
[root@localhost ~]# uname -r
3.10.0-1160.el7.x86_64

添加docker-ce源

[root@localhost ~]# yum install yum-utils device-mapper-persistent-data lvm2 -y
[root@localhost ~]# yum-config-manager --add-repo
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

修改docker-ce源

[root@localhost ~]# sed -i
's@download.docker.com@mirrors.tuna.tsinghua.edu.cn/docker-ce@g'
/etc/yum.repos.d/docker-ce.repo
#以下内容可能需要修改
[root@localhost ~]# sed -i 's/$releasever/7/g' /etc/yum.repos.d/docker-ce.repo
[root@localhost ~]# sed -i 's/$basearch/x86_64/g' /etc/yum.repos.d/docker-ce.repo

更新源

[root@localhost ~]# yum makecache fast

安装docker-ce

#默认安装是最新版本
[root@localhost ~]# yum install docker-ce -y
#启动docker服务
[root@localhost ~]# systemctl start docker
[root@localhost ~]# systemctl status docker
● docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)Active: active (running) since 三 2023-08-23 14:29:15 CST; 3s agoDocs: https://docs.docker.comMain PID: 1482 (dockerd)Tasks: 7Memory: 41.0MCGroup: /system.slice/docker.service└─1482 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

配置镜像加速器

[root@localhost ~]# vim /etc/docker/daemon.json
{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]
}
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart docker
[root@localhost ~]# docker info
#如果出现下面两行就代表配置成功
Registry Mirrors:https://docker.mirrors.ustc.edu.cn/
注:如果出现这两行
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
[root@localhost ~]# vim /etc/sysctl.conf
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
[root@localhost ~]# sysctl -p 从配置文件/etc/sysctl.conf加载内核参
数设置

2.下载系统镜像(Ubuntu、 centos)

#下载ubuntu镜像
[root@localhost ~]# docker pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
b237fe92c417: Pull complete 
Digest: sha256:ec050c32e4a6085b423d36ecd025c0d3ff00c38ab93a3d71a460ff1c44fa6d77
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest
#下载centos7镜像
[root@localhost ~]# docker pull centos:7
7: Pulling from library/centos
2d473b07cdd5: Pull complete 
Digest: sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4
Status: Downloaded newer image for centos:7
docker.io/library/centos:7
#检验
[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
ubuntu       latest    01f29b872827   2 weeks ago     77.8MB
centos       7         eeb6ee3f44bd   23 months ago   204MB

3.基于下载的镜像创建两个容器 (容器名一个为自己名字全拼,一个为首名字字母)

[root@localhost ~]# docker run --name chenming -it centos:7
[root@b8c93deef3e7 /]# exit
exit
[root@localhost ~]# docker run --name cm -it ubuntu /bin/bash
root@9cf78c0a255a:/# exit
exit

4.容器的启动、 停止及重启操作

docker start cm		启动容器
docker stop cm		停止容器
docker restart cm	重启容器
#启动容器
[root@localhost ~]# docker start cm
cm
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS         PORTS     NAMES
9cf78c0a255a   ubuntu    "/bin/bash"   4 minutes ago   Up 2 seconds             cm#停止容器
[root@localhost ~]# docker stop cm
cm
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES#重启容器
[root@localhost ~]# docker restart cm
cm
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS         PORTS     NAMES
9cf78c0a255a   ubuntu    "/bin/bash"   5 minutes ago   Up 2 seconds             cm

5.怎么查看正在运行的容器和所有容器?

通过
docker ps  --help -a, --all             Show all containers (default shows just running)
所以 docker ps 	查看正在运行的容器
docker ps -a 	查看所有的容器
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS         PORTS     NAMES
9cf78c0a255a   ubuntu    "/bin/bash"   9 minutes ago   Up 3 minutes             cm
[root@localhost ~]# docker ps -a
CONTAINER ID   IMAGE      COMMAND       CREATED          STATUS                       PORTS     NAMES
9cf78c0a255a   ubuntu     "/bin/bash"   9 minutes ago    Up 3 minutes                           cm
b8c93deef3e7   centos:7   "/bin/bash"   10 minutes ago   Exited (137) 6 minutes ago             chenming

6.怎么退出容器: 两种方法分别实现?

第一种

#在容器内部直接输入exit退出
[root@localhost ~]# docker run --name cm -it ubuntu /bin/bash
root@9cf78c0a255a:/# exit
exit

第二种

#使用ctrl+d退出
[root@localhost ~]# docker exec -it cm /bin/bash
root@9cf78c0a255a:/# 
exit

7.怎么连接到运行的容器?

[root@localhost ~]# docker exec -it cm /bin/bash
root@9cf78c0a255a:/#

8.查看容器或镜像的内部信息?

[root@localhost ~]# docker inspect cm
[{"Id": "9cf78c0a255a17250a6345d6ca157731b10ab9b2a09b9cbc1af3d6546d3920ef","Created": "2023-08-23T06:53:08.74171292Z","Path": "/bin/bash","Args": [],···

9.如何查看所有镜像?

查看所有镜像有两种方式

docker images
docker image ls

两种方式是等价的

[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
ubuntu       latest    01f29b872827   2 weeks ago     77.8MB
centos       7         eeb6ee3f44bd   23 months ago   204MB
[root@localhost ~]# docker image ls
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
ubuntu       latest    01f29b872827   2 weeks ago     77.8MB
centos       7         eeb6ee3f44bd   23 months ago   204MB

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

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

相关文章

c#设计模式-创建型模式 之 原型模式

概述 原型模式是一种创建型设计模式,它允许你复制已有对象,而无需使代码依赖它们所属的类。新的对象可以通过原型模式对已有对象进行复制来获得,而不是每次都重新创建。 原型模式包含如下角色: 抽象原型类:规定了具…

AliOS-Things引入

目录 一、简介 1.1 硬件抽象层 1.2 AliOS-Things内核 rhino ​编辑 1.3 AliOS-Things组件 二、如何进行AliOS-Things开发 三、安装环境 安装python pip git 修改pip镜像源 安装aos-cube 一、简介 AliOS-Things是阿里巴巴公司推出的致力于搭建云端一体化LoT软件。AliOS-…

【python】python智能停车场数据分析(代码+数据集)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

azure data studio SQL扩展插件开发笔记

node.js环境下拉取脚手架 npm install -g yo generator-azuredatastudio yo azuredatastudio 改代码 运行 调试扩展,在visual studio code中安装插件即可 然后visual studio code打开进行修改运行即可 image.png 运行后自动打开auzre data studio了, 下面…

spring整合mybatis教程(详细易懂)

一、引言 1、Spring整合MyBatis的目的是? 将两个框架结合起来,以实现更好的开发体验和效果。Spring提供了一种轻量级的容器和依赖注入的机制,可以简化应用程序的配置和管理。而MyBatis是一个优秀的持久层框架,可以方便地进行数据…

C# .aspx网页获取RFID读卡器HTTP协议提交的访问文件Request获得卡号、机号,Response回应驱动读卡器显示响声

本示例使用的设备:RFID网络WIFI无线TCP/UDP/HTTP可编程二次开发读卡器POE供电语音-淘宝网 (taobao.com) 服务端代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.…

快速理解 X server, DISPLAY 与 X11 Forwarding

​ X server X server是X Window System (简称X11或者X)系统中的显示服务器(display server),用于监听X client发送来的图形界面显示请求,并且将图形界面绘制并显示在屏幕(screen)…

浅谈Router和Route

router 和 route 是在前端框架中用于管理和处理路由的两个关键概念。这两者之间的关系可以通过具体的代码来解释。在本示例中,我将使用 React 和 React Router 来说明它们之间的关系。 Router(路由器):Router 是一个库或框架&…

Mybatis查询数据

上一篇我们介绍了在pom文件中引入mybatis依赖,配置了mybatis配置文件,通过读取配置文件创建了会话工厂,使用会话工厂创建会话获取连接对象读取到了数据库的基本信息。 如果您需要对上面的内容进行了解,可以参考Mybatis引入与使用…

再见 Xshell替代工具Tabby

替代Xshell 之前经常使用Xshell来操作Linux虚拟机,基本上是够用了。但是Xshell免费使用只供非商业用途,而且如果你想用FTP来进行文件传输的话,还需单独下载Xftp。 无意中发现了另一款开源的终端工具Tabby,它直接集成了SFTP功能&…

十几款拿来就能用的炫酷表白代码

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:小白零基础《Python入门到精通》 表白代码 1、坐我女朋友好吗,不同意就关机.vbs2、坐我女朋友好吗&…

基于静电放电算法优化的BP神经网络(预测应用) - 附代码

基于静电放电算法优化的BP神经网络(预测应用) - 附代码 文章目录 基于静电放电算法优化的BP神经网络(预测应用) - 附代码1.数据介绍2.静电放电优化BP神经网络2.1 BP神经网络参数设置2.2 静电放电算法应用 4.测试结果:5…

Homebrew 无法安装过时的PHP版本

使用brew安装过时的PHP版本时,提示“Error: php7.4 has been disabled because it is a versioned formula!”错误。 因为过时的PHP版本官方已经不再维护,所以Hombrew将该PHP版本移出了repository,所以安装不了。 解决方案 # 1. 添加tap fo…

【mindspore学习】环境配置

本次实验搭配的环境是 CUDA 11.6 CUDNN v8.9.4 TensorRT-8.4.1.5 mindspore 2.1.0。 1、配置 Nvidia 显卡驱动 如果原来的主机已经安装了 nvidia 驱动,为避免版本的冲突,建议先清除掉旧的 nvidia驱动 sudo apt-get --purge remove nvidia* sudo apt…

Watch数据监听详解

一、Vue2写法 1、watch使用的几种方法 1、通过 watch 监听 data 数据的变化,数据发生变化时,就会打印当前的值 watch: {data(val, value) {console.log(val)console.log(value)}} 2、通过 watch 监听 list 数据的变化,数据发生变化时&…

信息化发展2

信息系统生命周期 1 、软件的生命周期通常包括:可行性分析与项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等阶段。 2 、信息系统的生命周期可以简化为:系统规划(可行性分析与项目开发计划),系统分析…

Unity 之 transform.rotate() 实现旋转

文章目录 详细介绍默认情况下,以局部坐标 详细介绍 在Unity中,Transform.Rotate() 是一个用于在物体上进行旋转的函数。它可以用来在局部坐标系下对物体进行旋转,也可以在世界坐标系下进行旋转。下面是关于 Transform.Rotate() 的详细介绍&a…

2. 使用IDEA创建Spring Boot Hello项目并管理依赖——Maven入门指南

前言:本文将介绍如何使用IDEA创建一个Spring Boot Hello项目,并通过Maven来管理项目的依赖。我们从项目的创建到代码的编写,再到项目的构建和运行,一步步演示了整个过程。 🚀 作者简介:作为某云服务提供商的…

DataFun:推荐系统峰会

工程架构与训练推理 TFDE 多场景多目标融合 企业知识推荐系统 ATA内部社区 房产推荐场景的算法实践

chatGPT界面

效果图&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html> <head><title>复选框样式示例</title> </head> <style>* {padding:0;margin: 0;}.chatpdf{display: flex;height: 100vh;flex-direction: row;}.chatpdf .pannel{widt…