[沫忘录] Docker容器

news2025/2/4 12:19:55

[沫忘录] Docker容器

启动和校验

#启动Docker
systemctl start docker

#停止Docker
systemctl stop docker

#重启Docker
systemctl restart docker
service docker restart

#使Docker开机自启
systemctl enable docker

#执行docker ps命令,可以用来检验安装启动成功
docker ps

Docker容器的常见命令

创建并运行一个容器
docker run -d \ 
--name mysql \
-p 3306:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123 \
mysql

-d 让容器在后台运行,避免命令行阻塞等待

–name 为该容器指定一个名字

-p 设置端口号,前者是在端系统中,该docker容器的端口号,后者docker容器环境中,docker容器的端口号。即端口映射。

-e 设置环境变量,固定格式: KEY=VALUE,该处TZ设定的是时区

最后一行常数是指定当前运行的image镜像的名字
可以为镜像指定版本号(mysql:版本号), 否则版本号默认为最近的一个版本

容器停止与启动
docker stop 容器名
docker start 容器名

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

镜像拉取与推送
docker pull 远程镜像
docker push 本地镜像
查看本地镜像列表
docker images
镜像的封装与解包
docker save -o ---.tar(.7z等压缩包后缀) 镜像名
docker load -i 本地压缩镜像名
镜像的删除
docker rmi 镜像名

查看容器详情

docker inspect
容器的删除
docker rm 容器名
进入容器
docker exec -it 容器名 bash

-it 让容器添加一个可交互的终端

bash 以命令行作为容器内部的交互方式

命令的别名
#找到bashrc文件
vi ~/.bashrc
#然后在配置文件中添加
alias key='value'
#例如
alias dps='docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.status}}\t{{.Names}}"'

#当配置完后,输入
source ~/.bashrc
#配置即生效

当遇到权限不够时可以通过以下方式给用户添加权限

sudo chown root:docker /var/run/docker.sock # 修改docker.sock权限为root:docker

sudo groupadd docker          # 添加docker用户组 

sudo gpasswd -a $USER docker  # 将当前用户添加至docker用户组

newgrp docker                 # 更新docker用户组

数据卷挂载

数据卷命令
#创建数据卷
docker volume create 

#查看所有数据卷
docker volume ls

#删除指定数据卷
docker volume rm 

#查看某个数据卷的详情
docker volume inspect

#清除数据卷
docker volume prume 
数据卷挂载
  • 在执行docker run命令时, 可使用**-v 数据卷:容器内目录**进行对数据卷的挂载
  • 当创建容器时,如果挂载的数据卷不存在,会自动创建数据卷

tip:

当cd是一个linux内部命令, 而sudo只能为应用程序提供更高权限。因此当执行cd跳转目录需要更高权限时,可采取以下操作:

sudo -i #提升用户权限
sudo -s #打开拥有更高执行权限的特殊shell

当退出时,均可使用exit命令或快捷键ctrl + d 退出

本地目录挂载
  • 在执行docker run命令时,使用**-v 本地目录:容器内目录**可以完成本地目录的挂载
  • 本地目录必须以"/“或”./"开头的绝对路径,否则会被识别为数据卷而非本地目录,并且该本地目录存在。

Docker镜像制作

镜像就是包含了应用程序、程序运行的系统库、运行配置等文件的文件包,这个文件包能够使镜像内程序不受宿主机的操作系统的限制而独立运行。
而构建镜像的过程就是将上述文件打包的一系列过程。

dockerfile语法

在这里插入图片描述

示例

在这里插入图片描述

docker build -t myimage:1.0

-t: 指给镜像起名,版本1.0不指定则默认为lastest

Docker网络

默认情况下, 所有容器都是以bridge方式连接到Docker的一个默认虚拟网桥docker0上。

该虚拟网桥docker0的ip地址为

172.17.0.1/16

能够为容器之间提供基本的网络互联。

但使用虚拟网桥docker0进行容器间互联较为繁琐,故引入一种自定义网络的方式进行容器间互联。

docker的网络操作命令
#创建一个网络
docker network create 网络名

#查看所有网络
docker network ls

#删除指定网络
docker network rm 网络名

#清除未使用的网络
docker network prune

#使指定容器加入或离开某网络
docker network connect
docker network disconnect

#查看网络详细信息
docker network inspect

除在容器创建后使用connect加入到该自建网络,也可以在容器创建时加 –network 参数指定网络并加入该网络。

使用该参数创建出的容器不会被添加到docker0默认网络中

network prune

#使指定容器加入或离开某网络
docker network connect
docker network disconnect

#查看网络详细信息
docker network inspect


除在容器创建后使用connect加入到该自建网络,也可以在容器创建时加 **--network** 参数指定网络并加入该网络。

使用该参数创建出的容器==不会被添加到docker0默认网络中==。

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

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

相关文章

Windows基于Mingw编译安装FLTK

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、FLTK是什么?二、下载源代码三、准备编译环境四、导入项目到Clion五、修改Cmake配置1.src/CMakeLists.txt2.Cmake/options.cmake3.CMakeLists.tx…

Isaac Sim 仿真机器人urdf文件导入

本教程展示如何在 Omniverse Isaac Sim 中导入 urdf 一. 使用内置插件导入urdf 安装urdf 插件 方法是转到“window”->“Extensions” 搜索框中输入urdf, 并启用 通过转至Isaac Utils -> Workflows -> URDF Importer菜单来访问 urdf 扩展。 表格中的 1,2,3 对应着…

【六】【C语言\动态规划】买卖股票的最佳时机含手续费、买卖股票的最佳时机 III、买卖股票的最佳时机 IV,三道题目深度解析

动态规划 动态规划就像是解决问题的一种策略,它可以帮助我们更高效地找到问题的解决方案。这个策略的核心思想就是将问题分解为一系列的小问题,并将每个小问题的解保存起来。这样,当我们需要解决原始问题的时候,我们就可以直接利…

毕设之-消息系统设计(websocket+netty)

文章目录 前言技术选型基本架构 前言 long time no see。 前几天去一家小公司待了待,果断还是选择跑路,第三天就去另一家公司考察环境,和主管聊了两个多小时,非常愉快,就是单位薪资砍了一半。哎,旧事莫提了…

正定矩阵与半正定矩阵 、奇异矩阵

一、正定矩阵与半正定矩阵 请问谁能用易于理解的语言解释下矩阵的正定及半正定? - 知乎 M为一个方阵 定义: 一个非零向量X,如果,那么我们就规定这个M方阵为正定矩阵 单位矩阵是正定矩阵 (positive definite) 同理: 那么这个M…

【Java进阶篇】Java中的枚举的概念、有什么特点和好处

✔️Java枚举的概念、特点和好处 ✔️枚举的概念✔️枚举的特点✔️枚举的好处✔️拓展知识仓✔️枚举如何实现的? ✔️枚举的概念 Java枚举是一种特殊的数据类型,它的每一个值都映射到Enum类的构造函数中,具有固定数量的常量值。枚举类型具有…

台球杆,预计到2026年将达到 6.234 亿美元

台球杆市场多年来一直在稳步增长,这得益于台球作为一种全球娱乐活动的日益普及。2021 年全球台球杆市场价值 5.477 亿美元,预计到 2026 年将达到 6.234 亿美元,预测期内复合年增长率为 2.6%。 就中国市场而言,中国是全球最大的台球…

鹅目标检测数据集VOC格式350张

鹅是一种大型的水禽,常见于湖泊、河流和农田周围。它们的体形庞大,长有长颈和宽阔的翅膀,通常呈灰白色或棕褐色。鹅的头部呈黑色,嘴呈橙色,眼睛则是明亮的蓝色。 鹅是非常社交的动物,常以大群的形式生活在…

YOLOv5改进 | 主干篇 | ShuffleNetV1轻量化网络助力FPS提高(附代码+修改教程)

一、本文内容 本文给大家带来的改进内容是ShuffleNetV1,这是一种为移动设备设计的高效CNN架构。它通过使用点群卷积和通道混洗等操作,减少了计算成本,同时保持了准确性,通过这些技术,ShuffleNet在降低计算复杂度的同时…

C/S医院检验LIS系统源码

一、检验科LIS系统概述: LIS系统即实验室信息管理系统。LIS系统能实现临床检验信息化,检验科信息管理自动化。其主要功能是将检验科的实验仪器传出的检验数据经数据分析后,自动生成打印报告,通过网络存储在数据库中&#xff…

Modbus TCP转Profinet协议网关应用

YC-TCP-PN通讯网关:引领工业通讯新篇章 在工业4.0的浪潮下,高效、稳定的通讯技术成为各行业的核心竞争力。作为行业领军者,我们自豪地推出YC-TCP-PN通讯网关,以其卓越性能打破行业技术壁垒,引领工业通讯进入新篇章。 …

使用 Python 和 PyQt 实现路由算法模拟器

项目地址 GitHub - 944613709/Shortest-Path-Simulation: 网络拓扑图最短路径模拟 引言 在现代网络技术中,路由算法扮演着至关重要的角色。它们决定了数据包在网络中的传输路径,从而影响整个网络的效率和性能。为了更好地理解这些算法的工作原理&…

UG模型的显示与隐藏

在UG中,除了通过图层的方式控制模型的显示与隐藏外,还可以直接通过显示与隐藏命令,位置在菜单-编辑-显示与隐藏,需要注意的是这些命令只能对可视图层中的模型进行控制 显示与隐藏:ctrl w 可以通过模型的类别&#xf…

2014年第三届数学建模国际赛小美赛B题全地形伪装解题全过程文档及程序

2014年第三届数学建模国际赛小美赛 B题 全地形伪装 原题再现: 破坏性着色在军事用途中很常见,用于军用车辆、士兵制服和装备。视觉是人类的主要方向感,伪装的主要功能是欺骗人眼。军事服装中存在大量的伪装图案,以适应作战服装与…

概率论中的 50 个具有挑战性的问题 [第 6 部分]:Chuck-a-Luck

一、说明 我最近对与概率有关的问题产生了兴趣。我偶然读到了弗雷德里克莫斯特勒(Frederick Mosteller)的《概率论中的五十个具有挑战性的问题与解决方案》)一书。我认为创建一个系列来讨论这些可能作为面试问题出现的迷人问题会很有趣。每篇…

审视AI Agent:追捧、落地,和2024年的To B破局点

“十个AI应用里面,五个办公Agent,三个AIGC,还有两成是回春的数字人。”那么,Agent到底是不是大模型的AGI终局产品? 作者|斗斗 编辑|皮爷 出品|产业家 今年4月份,斯坦福和谷歌的研究者共同创建了一个…

账号和权限管理

大家无论安装完linux系统和windows系统后,都会要求你去新建一个用户去登录,不会让你们直接使用超级管理员身份去登录自己的系统,这样是为了安全性的考虑。 一、用户账号和组账号概述 1、用户账号类型: linux用户账号类型&#x…

基于openGauss5.0.0全密态数据库等值查询小案例

基于openGauss5.0.0全密态数据库等值查询小案例 一、全密态数据库简介二、环境说明三、测试步骤四、使用约束 一、全密态数据库简介 价值体现: 密态数据库意在解决数据全生命周期的隐私保护问题,使得系统无论在何种业务场景和环境下,数据在传…

跟着LearnOpenGL学习10--基础光照

文章目录 一、前言二、环境光照三、漫反射光照3.1、法向量3.2、计算漫反射光照3.3、全部代码3.4、法线矩阵 四、镜面光照4.1、全部代码 一、前言 现实世界的光照是极其复杂的,而且会受到诸多因素的影响,这是我们有限的计算能力所无法模拟的。 因此Open…