当前位置: 首页 > news >正文

docker实战命令大全

文章目录

  • 1 环境准备
    • 1.1 移除旧版本Docker
    • 1.2安装工具包
    • 1.3配置docker yum源
  • 2 安装最新docker
    • 2.1 设置开机自启docker
    • 2.2配置加速器
  • 3 实操-镜像
    • 3.1搜索镜像
    • 3.2下载镜像
    • 3.3查看镜像
    • 3.4 删除镜像
  • 4 实操-容器
    • 4.1运行nginx容器
    • 4.2 查看容器
    • 4.3启动容器
    • 4.5关闭容器
    • 4.6查看容器日志
    • 4.7删除容器
    • 4.8让公网可以访问到nginx
    • 4.9进入容器内部
  • 5实操-保存镜像
    • 5.1 提交镜像
    • 5.2 保存镜像
    • 5.3加载别人的镜像

1 环境准备

1.1 移除旧版本Docker

[root@root ~]# sudo yum remove docker \
>                   docker-client \
>                   docker-client-latest \
>                   docker-common \
>                   docker-latest \
>                   docker-latest-logrotate \
>                   docker-logrotate \
>                   docker-engine
已加载插件:fastestmirror
参数 docker 没有匹配
参数 docker-client 没有匹配
参数 docker-client-latest 没有匹配
参数 docker-common 没有匹配
参数 docker-latest 没有匹配
参数 docker-latest-logrotate 没有匹配
参数 docker-logrotate 没有匹配
参数 docker-engine 没有匹配
不删除任何软件包
[root@root ~]# 

1.2安装工具包

[root@root ~]# sudo yum install -y yum-utils

1.3配置docker yum源

[root@root ~]# sudo yum-config-manager \
> --add-repo \
> http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2 安装最新docker

[root@root ~]# sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

2.1 设置开机自启docker

[root@root ~]# docker ps  检查docker
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
[root@root ~]# systemctl start docker 开启docker
[root@root ~]# docker ps 说明docker安装成功
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@root ~]# systemctl enable docker 设置开机自启
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@root ~]# 

2.2配置加速器

[root@root ~]# # 配置加速
[root@root ~]# sudo mkdir -p /etc/docker
[root@root ~]# sudo tee /etc/docker/daemon.json <<-'EOF'
> {
>   "registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
> }
> EOF
{"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}
[root@root ~]# sudo systemctl daemon-reload
[root@root ~]# sudo systemctl restart docker

3 实操-镜像

3.1搜索镜像

[root@root ~]# docker search nginx

在这里插入图片描述

3.2下载镜像

下载最新版本的镜像

[root@root ~]# docker pull  nginx 

官网: https://hub.docker.com/
查看版本号,指定版本下载镜像
下载指定版本的镜像

[root@root ~]# docker pull nginx:1.26.0

3.3查看镜像

[root@root ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        latest    4f67c83422ec   5 days ago    188MB
nginx        1.26.0    94543a6c1aef   4 weeks ago   188MB
[root@root ~]# 

在这里插入图片描述

3.4 删除镜像

[root@root ~]# docker rmi nginx:1.26.0

或者

[root@root ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        latest    4f67c83422ec   5 days ago    188MB
nginx        1.26.0    94543a6c1aef   4 weeks ago   188MB
[root@root ~]# docker rmi 4f67c83422ec
Untagged: nginx:latest
Untagged: nginx@sha256:0f04e4f646a3f14bf31d8bc8d885b6c951fdcf42589d06845f64d18aec6a3c4d
Deleted: sha256:4f67c83422ec747235357c04556616234e66fc3fa39cb4f40b2d4441ddd8f100
Deleted: sha256:61eeae0da48f3cc48ebf1d0a192ad8f19cb6c6ed67d0f0a7ef1f1c443c1effd7
Deleted: sha256:5cde5b697c8179331355ba55c3754bb565e74b9c84170f398a736e29e8ece1f8
Deleted: sha256:8f957df28f8990c12af00f83cbc17560d57284835f695e3b1c2a39d22f6b117d
Deleted: sha256:4421830dc9390171c909a2beb619a00bb2c4a1fb8f7e187b14a38e1f84aa76db
Deleted: sha256:b25c84fbc54990754cb7662c5f299f2e44700731f5f19e610f61eb7348c2c2fc
Deleted: sha256:23b17aa4ac172d8d931417d0c681ea8f94d26e353a3f9d2d3cc75e01fed6d99e
[root@root ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        1.26.0    94543a6c1aef   4 weeks ago   188MB
[root@root ~]# 

4 实操-容器

4.1运行nginx容器

[root@root ~]# docker run nginx
不指定版本会自动下载最新的镜像

4.2 查看容器

[root@root ~]# docker ps 查看正在运行的容器
CONTAINER ID   IMAGE     COMMAND                   CREATED              STATUS              PORTS     NAMES
0d5a6e9fa449   nginx     "/docker-entrypoint.…"   About a minute ago   Up About a minute   80/tcp    relaxed_napier
[root@root ~]# docker ps -a 查看全部的容器
CONTAINER ID   IMAGE     COMMAND                   CREATED              STATUS              PORTS     NAMES
0d5a6e9fa449   nginx     "/docker-entrypoint.…"   About a minute ago   Up About a minute   80/tcp    relaxed_napier
[root@root ~]# 

在这里插入图片描述

4.3启动容器

[root@root ~]# docker start 0d5a6e9fa449(容器ID)
0d5a6e9fa449
[root@root ~]# 

4.5关闭容器

[root@root ~]# docker stop  relaxed_napier
relaxed_napier
[root@root ~]# 

4.6查看容器日志

docker logs 0d5a6e9fa449(容器ID)

4.7删除容器

[root@root ~]# docker rm 0d5a6e9fa449(容器ID)
Error response from daemon: cannot remove container "/relaxed_napier": container is running: stop the container before removing or force remove
[root@root ~]# docker rm -f 0d5a6e9fa449(容器ID)强制删除
0d5a6e9fa449
[root@root ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@root ~]# 

4.8让公网可以访问到nginx

-d 后台启动
–name 指定容器的名称
-p 将主机的端口与容器的端口向映射

[root@root ~]# docker run -d --name mynginx(指定容器的ID,一个镜像可以开启多个容器) -p 80:80 nginx
26ec8493b7efa6ad322e06e9fce5446b39c00c8a501ad7c76b6c4c690158a27c
[root@root ~]# 

4.9进入容器内部

一个容器就是相当于一个独立的linux系统。

[root@root ~]# docker exec -it mynginx /bin/bash
root@26ec8493b7ef:/# ll
bash: ll: command not found
root@26ec8493b7ef:/# ls
bin  boot  dev  docker-entrypoint.d  docker-entrypoint.sh  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@26ec8493b7ef:/# cd /usr 
root@26ec8493b7ef:/usr# ls

5实操-保存镜像

5.1 提交镜像

可以将一个容器进行打包
-m 描述信息

[root@root ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                   CREATED          STATUS          PORTS                               NAMES
26ec8493b7ef   nginx     "/docker-entrypoint.…"   40 minutes ago   Up 40 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp   mynginx
[root@root ~]# docker commit -m "update indx.html" mynginx nginx:v1.0
sha256:ae6baa8d8e15110c9a893ec38a49cbf3c8e02873eb3d4a12255b8e9d3c2eea36
[root@root ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
nginx        v1.0      ae6baa8d8e15   8 seconds ago   188MB
nginx        latest    4f67c83422ec   5 days ago      188MB
nginx        1.26.0    94543a6c1aef   4 weeks ago     188MB
[root@root ~]# 

5.2 保存镜像

-o 指定导出的文件名和格式

[root@root ~]# docker save -o nginx.tar nginx:v1.0
[root@root ~]# ls
nginx.tar
[root@root ~]# 

5.3加载别人的镜像

[root@root ~]# docker load -i nginx.tar
-i 指定加载的文件

[root@root ~]# docker images
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE
[root@root ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@root ~]# ls
nginx.tar
[root@root ~]# pwd
/root
[root@root ~]# docker load -i nginx.tar 
5d4427064ecc: Loading layer [==================================================>]  77.88MB/77.88MB
37719940dcaa: Loading layer [==================================================>]  113.9MB/113.9MB
d58e4a0f2971: Loading layer [==================================================>]  3.584kB/3.584kB
10988c108f66: Loading layer [==================================================>]  4.608kB/4.608kB
7da4ba4a0030: Loading layer [==================================================>]   2.56kB/2.56kB
261a5dc153b4: Loading layer [==================================================>]   5.12kB/5.12kB
3f6a3d22b9ce: Loading layer [==================================================>]  7.168kB/7.168kB
f810041d78ee: Loading layer [==================================================>]  14.34kB/14.34kB
Loaded image: nginx:v1.0
[root@root ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
nginx        v1.0      ae6baa8d8e15   7 minutes ago   188MB
[root@root ~]# 

相关文章:

docker实战命令大全

文章目录 1 环境准备1.1 移除旧版本Docker1.2安装工具包1.3配置docker yum源 2 安装最新docker2.1 设置开机自启docker2.2配置加速器 3 实操-镜像3.1搜索镜像3.2下载镜像3.3查看镜像3.4 删除镜像 4 实操-容器4.1运行nginx容器4.2 查看容器4.3启动容器4.5关闭容器4.6查看容器日志…...

Java线程死锁

在Java中&#xff0c;线程死锁通常发生在两个或更多个线程相互等待对方释放资源的情况下。以下是一个简单的Java示例&#xff0c;展示了如何创建线程死锁&#xff1a; public class DeadlockDemo {// 定义两个资源private static Object resource1 new Object();private stat…...

virtual box安装invalid installation directory

问题原因 看官方文档Chapter 2. Installation Details 第2.1.2所示&#xff0c;安装目录需要满足两个条件&#xff1a; 一是&#xff1a;需要安装目录的所有父目录都要满足以下访问控制条件 Users S-1-5-32-545:(OI)(CI)(RX) Users S-1-5-32-545…...

概率分析和随机算法

目录 雇佣问题 概率分析 随机算法 生日悖论 随机算法 概率分析 球与箱子 总结 雇佣问题 有n个候选人面试&#xff0c;如果面试者比目前雇佣者的分数高&#xff0c;评价更好&#xff0c;那么就辞掉当前雇佣者&#xff0c;而去聘用面试者&#xff0c;否则继续面试新的候…...

15_2 Linux Shell基础

15_2 Linux Shell基础 文章目录 15_2 Linux Shell基础[toc]1. shell基本介绍1.1 什么是shell1.2 shell使用方式1.3 脚本的执行方式1.4 脚本练习 2. 变量的种类2.1 自定义变量2.2 环境变量&#xff0c;由系统提前定义好&#xff0c;使用时直接调用2.3 位置变量与预定变量2.4 变量…...

Catia装配体零件复制

先选中要复制的零件 然后选中复制到的父节点才可以。 否则 另外一种方法是多实例化...

实用小工具-python esmre库实现word查找

python esmre库实现word查找 前言&#xff1a; 在文本中匹配特定的字符串&#xff0c;一般可以用普通的字符串匹配算法&#xff0c;KMP算法&#xff1b; python中提供了一个库&#xff0c;esmre, 通过预先将字符串存到esm对象中&#xff0c;利用这些字符串从候选的字符串中进行…...

SSM框架整合,内嵌Tomcat。基于注解的方式集成

介绍&#xff1a; SSM相信大家都不陌生&#xff0c;在spring boot出现之前&#xff0c;SSM一直是Java在web开发中的老大哥。现在虽说有了spring boot能自动整合第三方框架了&#xff0c;但是现在市面上任然有很多老项目是基于SSM技术的。因此&#xff0c;能熟练掌握SSM进行开发…...

系统架构设计师【论文-2016年 试题4】: 论微服务架构及其应用(包括写作要点和经典范文)

论微服务架构及其应用&#xff08;2016年 试题4&#xff09; 近年来&#xff0c;随着互联网行业的迅猛发展&#xff0c;公司或组织业务的不断扩张&#xff0c;需求的快速变化以及用户量的不断增加&#xff0c;传统的单块(Monolithic)软件架构面临着越来越多的挑战&#xff0c;…...

面试题:String 、StringBuffer 、StringBuilder的区别

String、StringBuffer、和StringBuilder都是用于处理字符串的操作类&#xff0c;但它们之间存在一些关键性的差异&#xff1a; 1.不可变性与可变性&#xff1a; String&#xff1a;字符串常量&#xff0c;是不可变的。一旦创建&#xff0c;其内容就不能被改变。对字符串的任何…...

TLS指纹跟踪网络安全实践(C/C++代码实现)

TLS指纹识别是网络安全领域的重要技术&#xff0c;它涉及通过分析TLS握手过程中的信息来识别和验证通信实体的技术手段。TLS&#xff08;传输层安全&#xff09;协议是用于保护网络数据传输的一种加密协议&#xff0c;而TLS指纹则是该协议在实际应用中产生的独特标识&#xff0…...

小白学RAG:大模型 RAG 技术实践总结

节前&#xff0c;我们组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。 针对大模型技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备面试攻略、面试常考点等热门话题进行了深入的讨论。 汇总合集…...

Doris Connector 结合 Flink CDC 实现 MySQL 分库分表

1. 概述 在实际业务系统中为了解决单表数据量大带来的各种问题&#xff0c;我们通常采用分库分表的方式对库表进行拆分&#xff0c;以达到提高系统的吞吐量。 但是这样给后面数据分析带来了麻烦&#xff0c;这个时候我们通常试将业务数据库的分库分表同步到数据仓库时&#x…...

ModbusTCP、TCP/IP都走网线,一样吗?

在现代通信技术中&#xff0c;Modbus/TCP和TCP/IP协议是两种广泛应用于工业自动化和网络通信领域的协议。尽管它们都运行在网线上&#xff0c;但它们在设计、结构和应用场景上有着明显的区别。 Modbus/TCP协议是什么 Modbus/TCP是一种基于TCP/IP的应用层协议&#xff0c;它是Mo…...

网络学习(13)|Spring Boot中获取HTTP请求头(Header)内容的详细解析

文章目录 方法一&#xff1a;使用HttpServletRequest实现原理代码示例优点缺点适用场景 方法二&#xff1a;使用RequestContextHolder实现原理代码示例优点缺点适用场景 方法三&#xff1a;使用RequestHeader注解实现原理代码示例优点缺点适用场景 总结 在Spring Boot应用中&am…...

【漏洞复现】宏景eHR pos_dept_post SQL注入漏洞

0x01 产品简介 宏景eHR人力资源管理软件是一款人力资源管理与数字化应用相融合&#xff0c;满足动态化、协同化、流程化、战略化需求的软件。 0x02 漏洞概述 宏景eHR pos_dept_post 接囗处存在SQL注入漏洞,未经过身份认证的远程攻击者利用此漏洞执行任意SQL指令&#xff0c;…...

82. 删除排序链表中的重复元素 and II

链接直达&#xff1a; 保留重复元素 不保留重复元素 题目&#xff1a; 1: 给定一个已排序的链表的头 head &#xff0c; 删除所有重复的元素&#xff0c;使每个元素只出现一次 。返回 已排序的链表 。示例 1&#xff1a;输入&#xff1a;head [1,1,2] 输出&#xff1a;[1…...

C++ 判断目标文件是否被占用(独占)(附源码)

在IM软件中发起文件发送时,如果要发送的是某word文件,并且该word文件被office打开,则会提示文件正在被占用无法发送,如下所示: 那文件被占用到底是如何判断出来的呢?其实很简单,调用系统API函数CreateFile,打开该文件(OPEN_EXISTING),传入FILE_SHARE_READ共享读标记…...

计划任务 之 一次性的计划任务

计划任务 作用:定时自动完成特定的工作 计划任务的分类&#xff1a; &#xff08;1&#xff09;一次性的计划任务 例如下周三对系统的重要文件备份一次 &#xff08;2&#xff09;周期性重复计划任务 例如每天晚上12&#xff1a;00备份一次 一次性的任务计划&#xff1a…...

非比较排序之计数排序

目录 一、什么是计数排序 二、思路 三、代码实现 一、什么是计数排序 计数排序是一种非比较型的排序算法&#xff0c;它通过统计待排序数据中每个元素出现的次数&#xff0c;然后根据这个次数来进行排序。计数排序的具体步骤如下&#xff1a; 首先找出待排序数据中的最大值…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作&#xff1a; 1&#xff09;、切换集群 2&#xff09;、切换节点 3&#xff09;、切换到 apparmor 的目录 4&#xff09;、执行 apparmor 策略模块 5&#xff09;、修改 pod 文件 6&#xff09;、…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook&#xff0c;用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途&#xff0c;下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓存逻辑分析&#xff1a; ①每个分类下的菜品保持一份缓存数据…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容&#xff0c;使用AI&#xff08;2025&#xff09;可以参考以下方法&#xff1a; 四个洞见 模型已经比人聪明&#xff1a;以ChatGPT o3为代表的AI非常强大&#xff0c;能运用高级理论解释道理、引用最新学术论文&#xff0c;生成对顶尖科学家都有用的…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

云原生安全实战:API网关Kong的鉴权与限流详解

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关&#xff08;API Gateway&#xff09; API网关是微服务架构中的核心组件&#xff0c;负责统一管理所有API的流量入口。它像一座…...

华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)

题目描述 给定一个整型数组,请从该数组中选择3个元素 组成最小数字并输出 (如果数组长度小于3,则选择数组中所有元素来组成最小数字)。 输入描述 行用半角逗号分割的字符串记录的整型数组,0<数组长度<= 100,0<整数的取值范围<= 10000。 输出描述 由3个元素组成…...

二维FDTD算法仿真

二维FDTD算法仿真&#xff0c;并带完全匹配层&#xff0c;输入波形为高斯波、平面波 FDTD_二维/FDTD.zip , 6075 FDTD_二维/FDTD_31.m , 1029 FDTD_二维/FDTD_32.m , 2806 FDTD_二维/FDTD_33.m , 3782 FDTD_二维/FDTD_34.m , 4182 FDTD_二维/FDTD_35.m , 4793...