Docker基础(一)

文章目录

      • 1. 基础概念
      • 2. 安装docker
      • 3. docker常用命令
        • 3.1 帮助命令
        • 3.2 镜像命令
        • 3.3 容器命令
        • 3.4 其他命令
      • 4. 使用案例

1. 基础概念

  • 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
  • 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
  • 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。

ArquiteturaDocker-1024x524.png

2. 安装docker

https://docs.docker.com/engine/install/centos/

  1. 卸载旧的docker
sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
# 安装gcc环境
yum -y install gcc
yum -y install gcc-c++
  1. 安装docker需要的仓库地址配置
yum install -y yum-utils#国外源比较慢
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# 国内镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  1. 安装docker
#更新yum索引
yum makecache fast# 安装docker
yum install -y docker-ce docker-ce-cli containerd.io
  1. 启动docker
systemctl start docker
  1. 测试安装是否成功
docker run hello-world

卸载docker

systemctl stop docker
yum remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
rm -rf /var/lib/containerd

查看下载的镜像

docker images

3. docker常用命令

docker infodocker version

3.1 帮助命令
docker --helpdocker run --help

3.2 镜像命令
# 展示所有镜像
docker images 
# 展示所有镜像
docker images -a  
# 只展示镜像id
docker images -q
# 在docker Hub中搜索镜像
docker search 镜像名称
# 搜索star不小于50的镜像
docker search --filter=STARS=50
# 下载指定镜像
docker pull 镜像名称
# 移除镜像
docker rmi 镜像名称/镜像id
# 强制删除
docker rmi -f 镜像名称/镜像id
# 强制删除所有镜像
docker rmi -f $(docker images -aq)

3.3 容器命令
# 查看运行中容器
docker ps
# 查看所有容器
docker ps -a
# 查看容器的id
docker ps -q
# 创建容器,如果镜像不存在则会自动pull下载镜像
docker run 镜像名称
# 常用参数
--name="Name"  可以给容器起一个名字
-d             容器后台启动
-i             用交互的方式启动 
-t             给容器分配一个终端登录使用  bin/bash
-p             指定端口映射(主机访问的端口,容器端口)
-e             环境配置在hub.docker.com中查看
# 可选参数组合使用
docker run -itd 镜像名称/镜像id
# 后台拉起容器
docker run -d 镜像名称/镜像id
# 交互式启动登录
docker run -it 镜像名称/镜像id
# 退出容器,容器停止运行。使用ctrl+P+Q不会停止运行
exit
docker start 镜像名称/镜像id
docker restart 镜像名称/镜像id
docker stop 镜像名称/镜像id
docker kill 镜像名称/镜像id
# 删除容器
docker rm 容器名/容器id
# 删除所有容器
docker rm -f $(docker ps -aq)
# 如果这个容器里面没有前台进程,直接通过-d启动,就会退出
docker run -d centos
# 交互方式后台启动
docker run -d -it centos /bin/bash

3.4 其他命令
# 查看容器运行日志,ctrl+z终止执行
docker logs --help
-t 打印时间戳
-f 打印最新的日志
# 查看容器相关的进程
docker top 容器id
# 查看容器的元数据
docker inspect 容器id
# 进入一个正在执行的容器
docker exec -it 容器id /bin/bash
# 进入容器正在执行的终端
docker attach 容器id

区别:
exec时在容器打开新的终端,并且可以启动新的进程
attach直接进入容器启动命令的终端,不会启动新的进程

# 拷贝容器内的文件到主机
docker cp 容器id:文件路径 本机路径

image.png

4. 使用案例

安装运行nginx镜像

docker pull nginxdocker run nginxdocker run -d --name zsq-nginx -p 3500:80 nginxdocker psdocker exec -it 容器 /bin/bash

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

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

相关文章

node14下运行项目报错:regeneratorRuntime is not defined

regeneratorRuntime is not defined,这是由于配置babel出错问题,由于使用了es7语法如async/await而当前babel版本过低 解决: npm install -D babel-plugin-transform-runtime babel-runtime 安装完成后在.babelrc文件下配置: &qu…

vue2与vue3的diff算法有什么区别

在 Vue 中,虚拟 DOM 是一种重要的概念,它通过将真实的 DOM 操作转化为对虚拟 DOM 的操作,从而提高应用的性能。Vue 框架在虚拟 DOM 的更新过程中采用了 Diff 算法,用于比较新旧虚拟节点树,找出需要更新的部分&#xff…

远程连接Redis

以连接阿里云上的Redis为例 1. 在阿里云安全组中开放端口 2.修改Redis启动时所用的配置文件(redis.conf) 2.1 修改ip地址 如图:将默认的本地ip bind 127.0.0.1地址改为bind 0.0.0.0 2.2 将保护模式关闭 将默认的 supervised yes 改为 n…

Transformer视频理解学习的笔记

今天复习了Transformer,ViT, 学了SwinTransformer, 还有观看了B站视频理解沐神系列串讲视频上(24.2.26未看完,明天接着看) 这里面更多论文见:https://github.com/mli/paper-reading/ B站视频理解沐神系列串讲视频下(明天接着看&a…

QPair和QMap

QPair和QMap是Qt框架中用于不同目的的两种容器类型,它们各自有不同的使用场景和特点。 QPair QPair是一个模板类,用于存储一对值,这对值可以是任意类型。它类似于C标准库中的std::pair。QPair通常用于当函数需要返回两个值时或者需要将两个…

认证模式~

认证方式 基于Cookie和Session的认证方式 基于Cookie和Session的认证是传统的Web应用认证机制。它依赖于HTTP协议无状态的特性,在客户端(浏览器)和服务器之间保持用户的状态。 工作原理 用户登录:用户通过输入用户名和密码来登…

速盾网络:组建CDN服务器加速

在当前互联网时代,网站的速度对用户体验和搜索引擎排名至关重要。为了提升网站的访问速度和性能,越来越多的网站选择使用CDN(内容分发网络)服务。本文将介绍如何利用速盾网络来组建CDN服务器,以加速网站访问。 1. 选择…

Spring Boot:全面解析现代微服务构建利器

Spring Boot 是基于 Java 平台的开源框架,它通过提供一系列标准化的快速开发和部署功能,彻底革新了传统 Spring 应用程序的创建与管理方式。自2014年发布以来,Spring Boot 已经成为构建企业级、云原生以及微服务架构应用的首选工具之一&#…

嵌入式C语言(三)

typeof() 使用typeof可以获取一个变量或表达式的类型。 typeof的参数有两种形式:表达式或类型。 int i;typeof(i) j 20; --> int j 20;typeof(int *) a; -->int *a; int f(); -->typeof(f()) k;--? int k我们可以看出通过typeof获取一个变量的…

合并spark structured streaming处理流式数据产生的小文件

备注: By 远方时光原创,可转载,不能复制到其他平台 背景:做流批一体,湖仓一体的大数据架构,常见的做法就是 数据源->spark Streaming->ODS(数据湖)->spark streaming->…

Vue 实现页面导出A4标准大小的PDF文件,以及处理图片跨域不能正常展示的问题等

效果预览: 代码流程:首先在utils文件夹下创建htmlToPdf的js工具文件,然后在main.js中注册引用 htmlToPdf.js // 导出页面为PDF格式 import html2Canvas from html2canvas import JsPDF from jspdfexport default {install(Vue, options) {V…

hcia datacom课程学习(1):通信基础

1.总体框架 上图为发送方通过互联网传递信息给接收方的过程。 家用路由器会直接集成上图中的四层(vlan,DHCP,静态路由,NAT,PPPoE)。 2.网络性能指标 (1)带宽 单位时间内传输的数…

Linux 使用 SSH 传输文件

# 登录 ssh usernameip_address # 复制文件(远程-->本地) scp usernameip_address:/home/username/filename . # 复制文件(本地-->远程) scp filename usernameip_address:/home/username # 复制目录(本地-->远程) scp -r source_dir usernameip_address:/home/use…

独孤思维:这份付出,可以拿一辈子收益

学习,不能贪杯。 做副业,不能什么都做。 什么都学,就什么都学不会。 什么项目都做,就什么都赚不到钱。 这是一定的。 人的精力有限,时间有限,成本有限。 这一辈子,做好一件事就够了。 很…

解析Hadoop三大核心组件:HDFS、MapReduce和YARN

目录 HadoopHadoop的优势 Hadoop的组成HDFS架构设计Yarn架构设计MapReduce架构设计 总结 在大数据时代,Hadoop作为一种开源的分布式计算框架,已经成为处理大规模数据的首选工具。它采用了分布式存储和计算的方式,能够高效地处理海量数据。Had…

Redisson - 实现Java的Redis分布式和可扩展解决方案

Redisson - 实现Java的Redis分布式和可扩展解决方案 引言: 在现代的分布式系统中,缓存和数据存储扮演着至关重要的角色。Redis作为一种高性能的键值存储数据库,被广泛用于缓存、消息队列、实时数据分析等场景。然而,原生的Redis…

pod调度策略 标签管理 资源配额与限额 全局资源配额与限额策略,

打分也是基于可调度节点进行打分资源情况. 指定多个节点,会进行覆盖其之前节点名称 --- kind: Pod apiVersion: v1 metadata:name: myhttp spec:nodeName: node-0001 # 基于节点名称进行调度containers:- name: apacheimage: myos:httpd 基于节点名称的调度策略 标签与调…

数据可视化--了解数据可视化和Excel数据可视化

目录 1.1科学可视化: 可视化是模式、关系、异常 1.2三基色原理: 三基色:红色、绿色和蓝色 1.3Excel数据可视化 1.3.1 excel数据分析-13个图表可视化技巧 1.3.2 excel数据分析-28个常用可视化图表(video) 1.3.3Excel可视化…

SpringAMQP消息队列

安装RabbitMQ 在linux上安装RabbitMQ,并运行 docker run \-e RABBITMQ_DEFAULT_USERzywzy \-e RABBITMQ_DEFAULT_PASS123321 \--name mq \--hostname mq1 \-p 15672:15672 \-p 5672:5672 \-d \rabbitmq:3-managementhttp://ip:15672 访问控制台, 用户名zywzy,密码123321 引入…

康复训练day2——2024牛客寒假集训营6

一道很好的构造题,受益匪浅。 链接:F-命运的抉择_2024牛客寒假算法基础集训营6 (nowcoder.com)​​​​​​ 题意: 题解 (并查集 思维): 首先将存在1的情况特判掉,我们的数组的元素都是> 2的…