Docker基础(一)

news2024/10/2 22:18:12

文章目录

      • 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 info

docker version

3.1 帮助命令
docker --help

docker 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 nginx

docker run nginx

docker run -d --name zsq-nginx -p 3500:80 nginx

docker ps

docker exec -it 容器 /bin/bash

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

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

相关文章

Java Web(八)--Servlet(一)

介绍 官网:Servlet 3.1 API Documentation - Apache Tomcat 8.0.53 为什么需要? 提出需求: 请用你现有的html css javascript,开发网站,比如可以让用户留言/购物/支付? 引入我们动态网页(能和用户交互)技术>Servlet 是什…

医院LIS(全称Laboratory Information Management System)系统源码

目录 一、医院LIS系统概况 二、医院LIS系统建设必要性 三、为什么要使用LIS系统 四、技术框架 (1)总体框架 (2)技术细节 (3)LIS主要功能模块 五、LIS系统优势 (1)客户/用户…

【Python】记录生产编程小tips(字符串处理、列表删除、字典、csv、excel操作)持续更新

文章目录 一.for循环删除列表元素1.删除list元素方法2.直接删除往往结果与期望不一致3.循环删除元素的正确方法:方法1:while循环i减方法2:使用copy方法3:倒叙遍历 二.字符串处理库三.字典—dict运用四.csv操作五.excel操作1.读exc…

AI:139-基于深度学习的语音指令识别与执行

🚀点击这里跳转到本专栏,可查阅专栏顶置最新的指南宝典~ 🎉🎊🎉 你的技术旅程将在这里启航! 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带关键代码,详细讲解供大家学习,希望…

改进 RAG:自查询检索

原文地址:Improving RAG: Self Querying Retrieval 2024 年 2 月 11 日 让我们来解决构建 RAG 系统时的一个大问题。 我们不能依赖语义搜索来完成每个检索任务。只有当我们追求单词的含义和意图时,语义搜索才有意义。 But in case,我们正…

python自动化管理和zabbix监控网络设备(有线网络和路由配置部分)

目录 目录 一、拓扑图 二、core-sw1 三、core-sw2 四、sum-sw1 五、sum-sw2 六、FW1 七、DMZ-SW1 结语 一、拓扑图 二、core-sw1 sys sysname core-sw1 vlan batch 10 20 30 40 50 60 100 vlan batch 200 210 220 230 240 250 stp region-configuration region-name…

选择稳定代理IP需要考虑哪些因素?

很多人不知道怎么选择稳定的代理IP,也不知道当前代理IP套餐是否稳定,今天我们一起来分析下,选择稳定的代理IP可以从哪几方面去考虑。 1、代理IP的可用性 代理IP要稳定,先要可以用。一个代理IP池是否稳定,要看代理IP的…

区分服务 DiffServ

目录 区分服务 DiffServ 区分服务的基本概念 区分服务 DiffServ 的要点 每跳行为 PHB DiffServ 定义的两种 PHB 区分服务 DiffServ 区分服务的基本概念 由于综合服务 IntServ 和资源预留协议 RSVP 都较复杂,很难在大规模的网络中实现,因此 IET…

Docker复习笔记

Centos7安装Docker Docker官网:www.docker.com Docker官网仓库:hub.docker.com Docker文档是比较详细的 安装相关依赖 yum -y install gcc gcc-c yum install -y yum-utils 设置docker镜像仓库 yum-config-manager --add-repo https://download.docker.com/linux/centos/do…

Mysql运维篇(五) 部署MHA--主机环境配置

一路走来,所有遇到的人,帮助过我的、伤害过我的都是朋友,没有一个是敌人。如有侵权,请留言,我及时删除! 大佬博文 https://www.cnblogs.com/gomysql/p/3675429.html MySQL 高可用(MHA&#x…

js:通过input标签或Drag拖拽文件实现浏览器文件上传获取File文件对象

文档 https://developer.mozilla.org/zh-CN/docs/Web/API/Filehttps://developer.mozilla.org/zh-CN/docs/Web/API/HTMLElement/drag_event 通过读取文件可以获取File对象的信息 lastModified: 1707210706000 lastModifiedDate: Tue Feb 06 2024 17:11:46 GMT0800 (中国标准…

使用 Verilog 做一个可编程数字延迟定时器 LS7211-7212

今天的项目是在 Verilog HDL 中实现可编程数字延迟定时器。完整呈现了延迟定时器的 Verilog 代码。 所实现的数字延迟定时器是 CMOS IC LS7212,用于生成可编程延迟。延迟定时器的规格可以在这里轻松找到。基本上,延迟定时器有 4 种操作模式:…

备考北京高考数学:历年选择题真题练一练和解析(2014-2023)

还有三个多月的时间就要高考了,我们今天继续看北京市高考数学真题和解析。今天看5道选择题。独家制作的在线练习集,可以便捷地反复刷这些真题,吃透真题(背后的知识点和解题技巧),让高考数学再上一个台阶。 …

【LeetCode:2476. 二叉搜索树最近节点查询 + 中序遍历 + 有序表】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

【算法小讲堂】#1 贪心算法

引入——关于贪心算法 我们先来做一个小游戏——现在假设自己是一个小偷,桌上有一些物品,包括一台iPhone15、一个充电宝、一个眼罩和一个溜溜梅。此时,你听说警察即将到来,那么你会先带走哪个东西呢? 一般来讲&#xf…

[云原生] 二进制安装K8S(上)搭建单机matser、etcd集群和node节点

一、单机matser预部署设计 目前Kubernetes最新版本是v1.25,但大部分公司一般不会使用最新版本。 目前公司使用比较多的:老版本是v1.15,因为v1.16改变了很多API接口版本,国内目前使用比较多的是v1.18、v1.20。 组件部署&#xff…

beego代理前端web的bug

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、beego代理前端web的bug总结 一、beego代理前端web的bug *报错,为web压缩包index.html里面的注释被错误解析,删掉就行 2024/02/22 10:2…

[HarekazeCTF2019]encode_and_encode 不会编程的崽

这题知道这个知识点就挺好做的 <?php error_reporting(0);if (isset($_GET[source])) {show_source(__FILE__);exit(); }function is_valid($str) {$banword [// no path traversal\.\.,// no stream wrapper(php|file|glob|data|tp|zip|zlib|phar):,// no data exfiltra…

如何实现固定公网地址远程访问内网Wagtail管理界面

文章目录 前言1. 安装并运行Wagtail1.1 创建并激活虚拟环境 2. 安装cpolar内网穿透工具3. 实现Wagtail公网访问4. 固定的Wagtail公网地址 前言 Wagtail是一个用Python编写的开源CMS&#xff0c;建立在Django Web框架上。Wagtail 是一个基于 Django 的开源内容管理系统&#xf…

【精品】OnlyOffice 8.0 版本深度测评

引言 官网链接&#xff1a; ONLYOFFICE 官方网址 OnlyOffice 是一套全面的开源办公协作软件&#xff0c;旨在为用户提供强大、便捷和安全的文档处理和协作环境。最新发布的 OnlyOffice 8.0 版本带来了一系列引人瞩目的新特性和功能改进&#xff0c;进一步提升了其在功能丰富性…