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…

远程连接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…

认证模式~

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

嵌入式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)带宽 单位时间内传输的数…

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

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

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可视化…

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

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

2024-02-26(Spark,kafka)

1.Spark SQL是Spark的一个模块,用于处理海量结构化数据 限定:结构化数据处理 RDD的数据开发中,结构化,非结构化,半结构化数据都能处理。 2.为什么要学习SparkSQL SparkSQL是非常成熟的海量结构化数据处理框架。 学…

在having、select子句中使用子查询

目录 在having子句中使用子查询 统计出部门平均工资高于公司平均工资的部门编号、平均工资、部门人数 在select子句中使用子查询 查询每个员工的编号、姓名、职位、部门名称 Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645 在havin…

销售线索获取 如何查找更多的销售线索平台

在进行销售工作时,寻找潜在客户和销售线索是非常重要的。只有及时地发现客户的需求和问题,才能更好地进行销售和提供服务。然而,在如今的市场环境中,客户的信息被广泛地分散在各个渠道和媒介上,如果仅靠人工搜索和整理…

如何优化Node.js应用的性能

随着Node.js在Web开发领域的广泛应用,越来越多的开发者开始关注如何优化Node.js应用的性能。优化Node.js应用的性能可以提升应用的响应速度,降低资源消耗,提升用户体验。在本文中,我们将探讨一些优化Node.js应用性能的方法和技巧。…

Nginx重写功能和反向代理

目录 一、重写功能rewrite 1. ngx_http_rewrite_module模块指令 1.1 if 指令 1.2 return 指令 1.3 set 指令 1.4 break 指令 2. rewrite 指令 3. 防盗链 3.1 实现盗链 3.2 实现防盗链 4. 实用网址 二、反向代理 1. 概述 2. 相关概念 3. 反向代理模块 4. 参数配置…

亿道丨三防平板丨如何从多方面选择合适的三防加固平板?

在如今这个信息爆炸的时代,移动设备已经成为我们生活和工作的必备工具。然而,在一些特殊的场合中,普通的平板电脑可能无法满足需求,比如工厂车间、野外作业、极端天气等环境下。此时,三防平板就成了不二之选。那么&…

SpringCloud-Docker安装与详解

Docker 是一款强大的容器化平台,通过其轻量级的容器技术,使应用程序的开发、部署和管理变得更加便捷和高效。本文将深入探讨 Docker 的安装过程,并详细解析其基本概念、组件及常用命令,以帮助读者充分理解和熟练使用 Docker。企业…

mac安装zookeeper

下载地址: http://archive.apache.org/dist/zookeeper/ 注意:由于Zookeeper从3.5.5版本开始,带有bin名称的包才是我们想要的下载可以直接使用的里面有编译后的二进制的包,而之前的普通的tar.gz的包里面是只是源码的包无法直接使…