Docker安装、Docker基本操作

news2024/9/27 7:21:05

一、Dokcer安装

1.安装

# 1、yum 包更新到最新,需要几分钟时间(注意:也可以直接跨过)
sudo yum update
# 2、作用:安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 3、 设置yum源
# 3.1、方案一:使用ustc的(默认的)
sudo yum-config-manager --add-repo http://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
# 3.2、方案二:使用阿里云(推荐使用)
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 4、 安装docker;出现输入的界面都按 y
sudo yum install -y docker-ce
# 5、 查看docker版本
docker -v

2.设置镜像加速器

默认的镜像是ustc,而ustc是老牌的linux镜像服务提供者了,还在遥远的ubuntu 5.04版本的时候就在用。ustc的docker镜像加速器速度很快。ustc docker mirror的优势之一就是不需要注册,是真正的公共服务。
https://lug.ustc.edu.cn/wiki/mirrors/help/docker

1、 编辑文件/etc/docker/daemon.json

# 执行如下命令:
mkdir /etc/docker  表示创建一个文件夹
#如果有该文件则进入编辑状态,如果没有,则创建该文件然后进入编辑状态
vi /etc/docker/daemon.json  

2、在当前文件中加入阿里云的加速器

{
  "registry-mirrors": ["https://7oc12mqc.mirror.aliyuncs.com"]
}
注意:[“自己的镜像加速器地址”]

注意:docker官方镜像仓库网速较差,我们需要设置国内镜像服务:

参考阿里云的镜像加速文档:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

4、重启操作

sudo systemctl daemon-reload
sudo systemctl restart docker

3.Docker启动与停止命令

Docker应用需要用到各种端口,逐一去修改防火墙设置。非常麻烦,因此建议大家直接关闭防火墙!

启动docker前,一定要关闭防火墙后!!

启动docker前,一定要关闭防火墙后!!

启动docker前,一定要关闭防火墙后!!

# 启动docker服务:
systemctl start docker
# 停止docker服务:
systemctl stop docker
# 重启docker服务:
systemctl restart docker
# 查看docker服务状态:
systemctl status docker
# 设置开机启动docker服务:
systemctl enable docker

#查看防火墙状态
systemctl status firewalld.service
#停止防火墙--临时停止
systemctl stop firewalld.service
#停止防火墙-终止
systemctl disable firewalld.service
#启动防火墙
systemctl start firewalld.service

二、Docker基本操作

2.1.镜像操作

2.1.1.镜像名称

首先来看下镜像的名称组成:

  • 镜名称一般分两部分组成:[repository]:[tag]。
  • 在没有指定tag时,默认是latest,代表最新版本的镜像

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

这里的mysql就是repository,5.7就是tag,合一起就是镜像名称,代表5.7版本的MySQL镜像。

2.1.2.镜像命令

常见的镜像操作命令如图:
在这里插入图片描述

常用镜像命令集:

#查看本地镜像
docker images 
# 如果你需要从网络中查找需要的镜像,可以通过以下命令搜索
docker search 镜像名称
# 拉取镜像就是从Docker仓库下载镜像到本地,镜像名称格式为 名称:版本号,如果版本号不指定则是最新的版本 
docker pull 镜像名称

# 可以按照镜像id删除镜像,命令如下:
docker rmi 镜像id
# 删除所有镜像,注意:包含着docker images -q的符号是波浪号那个键
docker rmi `docker images -q`

镜像迁移与备份命令:

其中涉及到的命令有:

​ docker commit 将容器保存为镜像

​ docker save 将镜像备份为tar文件

​ docker load 根据tar文件恢复为镜像

容器保存为镜像命令

#命令形式:
docker commit 现有容器名称  镜像名称

注意:该容器必须是停止状态。并且当前本地镜像中没有该镜像名称

将镜像备份成tar文件命令

#命令形式:
docker save –o tar文件名 镜像名
#-o 输出到的文件

根据tar文件恢复为镜像命令

#命令形式:
docker load -i tar文件名 
#-i 输入的文件

2.2容器操作

2.2.1.容器相关命令

容器操作的命令如图:
在这里插入图片描述
容器保护三个状态:

  • 运行:进程正常运行
  • 暂停:进程暂停,CPU不再运行,并不释放内存
  • 停止:进程终止,回收进程占用的内存、CPU等资源

容器,也是docker中的核心概念,容器是由镜像运行产生的运行实例。镜像和容器的关系,就如同Java语言中类和对象的关系。

Docker提供的关于容器的操作有:
查看容器

#查看正在运行的容器使用命令
docker ps
#查看所有容器使用命令
docker ps -a 

​ 创建容器

#创建并运行一个容器,处于运行状态
docker run 

​ 进入容器内部

docker exec -it 容器名称 bash

​ 启动容器

docker start 容器名称[或者容器ID]

​ 停止容器

docker stop 容器名称[或者容器ID]

​ 文件拷贝

将linux宿主机中的文件拷贝到容器内可以使用命令:

#第一步, 在Linux中创建一个文件abc.txt
touch abc.txt

#第二步,复制abc.txt到nginx的容器的   /表示根目录
docker cp 文件名称 容器名称:/ 
#示例:
docker cp abc.txt nginx:/
#第三步, 进入nginx容器
docker exec -it nginx /bin/bash
# 第四步,查看容器 / 目录下文件 是否有该文件
ls

docker这个命令是在linux系统中安装的,所以说容器中没有docker这个命令

将文件从容器内拷贝出来到linux宿主机使用命令:

# docker cp 容器名称:容器目录 需要拷贝的文件或目录
#进入容器后创建文件cba.txt
touch cba.txt
# 退出容器
exit
# 在Linux宿主机器执行复制;将容器mycentos2的/cba.txt文件复制到 宿主机器的/root目录下
docker cp nginx:/cba.txt  /root

​ 查看容器ip地址

可以通过以下命令查看容器运行的各种数据 docker inspect 容器名称(容器ID)

# 在linux宿主机下查看 nginx 的ip 
docker inspect nginxclear

删除容器

#删除指定的容器:
docker rm 容器名称(容器ID) 
#删除所有容器:
docker rm `docker ps -a -q` 

注意:只能删除停止状态下的容器

暂停容器:

#让一个运行的容器暂停
docker pause nginx

让一个容器从暂停状态恢复运行

docker unpause nginx

2.3数据卷(容器数据管理)

数据卷(volume)是一个虚拟目录,指向宿主机文件系统中的某个目录。
在这里插入图片描述
一旦完成数据卷挂载,对容器的一切操作都会作用在数据卷对应的宿主机目录了。

这样,我们操作宿主机的/var/lib/docker/volumes/html目录,就等于操作容器内的/usr/share/nginx/html目录了

2.3.1.挂载数据卷

我们在创建容器时,可以通过 -v 参数来挂载一个数据卷到某个容器内目录,命令格式如下:

docker run \
  --name mn \
  -di \
  -v html:/root/html \
  -p 8080:80 \
  nginx 

这里的-v就是挂载数据卷的命令:

  • -v html:/root/htm :把html数据卷挂载到容器内的/root/html这个目录中

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

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

相关文章

从文字到语义:文本分词和词性标注的原理与实现

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

个人博客系统调试详细过程

系统功能的详细说明和源代码见以下链接:https://blog.csdn.net/shooter7/article/details/121180333相关的源码数据库文件、软件安装包可以联系博主koukou(壹壹23七2五六98) 调试过程如下: 文章目录 调试过程如下:一、数据库安装二、sql数据文件的导入三…

java调用cmd命令

1.首先,我们需要了解一下 java是如何调用 cmd的: 6.在实际的开发中,我们有可能会遇到 java调用 cmd命令的情况: 7.对于一些特定的环境下,例如在嵌入式系统中,那么我们可以使用下面这种方式来调用 cmd命令&a…

【Redis】Redis常用基本命令

数据结构 常用基本命令 keys * 查看当前库所有的key exists key 判断某个key是否存在 type key 查看key的类型 del key 删除指定的key数据 unlink key :非阻塞删除,仅仅将keys从key元数据删除,真正的删除会异步操作 6.ttl key 查看key多少秒过期…

AIGC:ColossalChat(基于LLM和RLHF技术的类似ChatGPT的聊天机器人)的简介、安装、使用方法之详细攻略

AIGC:ColossalChat(基于LLM和RLHF技术的类似ChatGPT的聊天机器人)的简介、安装、使用方法之详细攻略 目录 ColossalChat的简介 1、局限性 LLaMA-finetuned 模型的限制 数据集的限制 2、在线演示 3、Coati7B examples Generation Open QA ColossalChat的安装…

功率电子开关的高边开关和低边开关high -side power switch

下图为使用NMOS,最简单的开关电路。(低侧驱动) CONTROL为控制信号,电平一般为3~12V。负载一端接电源正极,另一端接NMOS的D(漏极)。CONTROL电平为高时,Vgs>NMOS的Vgs导通阀值&…

数据库基础应用——概念模型

1、实体(Entity) 客观存在并可相互区别的事物称为实体。实体可以是人、物、对象、概念、事物本身、事物之间的联系。(例如一名员工、一个部门、一辆汽车等等。) 2、属性(Attributre) 实体所具有的每个特性称为属性。(例如:员工由员…

基于OpenCV的haar分类器实现人脸检测分析

基于OpenCV的haar分类器实现人脸检测分析 文章目录 基于OpenCV的haar分类器实现人脸检测分析一、基于OpenCV的haar分类器实现笑脸检测1、Haar分类器介绍2、haar分类器的静态使用(处理图片)3、haar分类器的动态使用(对摄像头视频进行处理&…

JAVA 17新特性

JAVA 17新特性 概述 JDK 16 刚发布半年(2021/03/16),JDK 17 又如期而至(2021/09/14),这个时间点特殊,蹭苹果发布会的热度?记得当年 JDK 15 的发布也是同天 Oracle 宣布&#xff0…

S32K3学习笔记_电源管理

S32K3学习笔记_电源管理 1、缩略词 PMC:Power Management Controller,电源管理控制器 FPM:Full Performance mode,全性能模式 LPM:Low Performance mode,低性能模式 LPCMP:低功耗比较器 S…

C语言单链表

本节目标: ①定义单链表结构体 ②初始化单链表 ③单链表增加结点(头插法、尾插法) ④删除指定结点 ⑤打印输出 目录 导入头文件 定义单链表结构体 初始化单链表 头插法 尾插法插入 删除指定结点 打印单链表 全部代码展示 导入头文件 …

NP完全性PART1:多项式时间与形式化语言体系

算法导论第三版,CH34笔记 NP完全性 Chapter Introduction 一般来说,我们认为可以在多项式时间内求解的问题是易处理的问题,在超多项式时间内解决的问题是不易处理的问题。 下面列出的几对问题,前者可以用多项式时间算法求解&…

MATLAB 点云法向量计算与可视化 (9)

MATLAB 点云法向量计算与可视化 (9) 一、实现效果二、算法介绍三、函数说明四、具体代码(注释详细)一、实现效果 红色线即代表该点位处的法向量计算结果 二、算法介绍 用于拟合局部平面的法线,以 M 乘3或 M 乘 N 乘3矩阵的形式返回。法向量由 k 值定义的邻域数局部计算。…

Packet Tracer - 配置 IP ACL 来缓解攻击

Packet Tracer - 配置 IP ACL 来缓解攻击 拓扑图 地址分配表 设备 接口 IP 地址 子网掩码 默认网关 交换机端口 R1 G0/1 192.168.1.1 255.255.255.0 不适用 S1 F0/5 S0/0/0 (DCE) 10.1.1.1 255.255.255.252 不适用 不适用 R2 S0/0/0 10.1.1.2 255.255.255…

10款UML建模工具更新(2023.4)Software Ideas Modeler 、Rhapsody、Papyrus

最近一段时间更新的工具有: 工具最新版本:Software Ideas Modeler 13.99 更新时间:2023年4月17日 工具简介 轻量级建模工具,支持UML、BPMN、SysML。 平台:Windows 获得地址 https://www.softwareideas.net/en/do…

java学习之异常二

目录 一、异常处理机制 一、try-catch-finally 二、throws 二、try-catch 异常处理使用细节 三、try-catch-finally练习 第一题 第二题 第三题 第四题 一、异常处理机制 共有两种异常处理机制 一、try-catch-finally 处理机制图示 二、throws 关于第二点,如E…

Linux性能分析工具perf和火焰图使用方法

简介 perf是linux上的性能分析工具,perf可以对event进行统计得到event的发生次数,或者对event进行采样,得到每次event发生时的相关数据(cpu、进程id、运行栈等),利用这些数据来对程序性能进行分析。 perf可以统计或采样的event有…

JVM学习随笔02——虚拟机内存区组成与内存溢出异常

一、Java虚拟机内存区组成图 1、程序计数器: 每个线程独占一个计数器,用来指示该线程下一条要执行的指令的地址。这一部分不会导致内存异常。PS:如果一个线程进入的是一般的Java方法,计数器指示的是下一条指令地址;如果…

taro小程序中如何引入css_moudle?配置后不生效的解决方法

1.根据文档Taro配置 编译配置存放于项目根目录下的 config 目录中,包含三个文件: index.js 是通用配置dev.js 是项目预览时的配置prod.js 是项目打包时的配置 参考Taro官网,我们要做的是:找到项目根文件夹下的 config 文件&…

【Android车载系列】第12章 车载渲染-SurfaceFlinger单独绘制到界面

1 SurfaceFlinger渲染方案 车载的倒车影像同学们知道是怎么实现的吗?等待Android设备开机再打开倒车影像App?车子挂到R档倒车如果等待这个流程实在太久,是否还有其它办法可以让车子挂R档直接展示倒车影像呢?大家思考一下。 我们从…