Docker的安装与简单操作命令

目录

前言

docker的安装

基础docker操作

容器管理

镜像管理

容器镜像封装与加载


前言

前文简单说明了容器技术出现的背景,与对docker做了结构上的介绍Container容器技术简介-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_72569959/article/details/134814887

讲到docker的运行是由三个关键组件组成的,本文则是讲解了docker的安装方法与操作命令

1、镜像image
只读状态的,docker通过image创建container 类似于在VMwareworkstation上创建虚拟机所使用的iso文件,iso是一种光盘格式的镜像

docker images
REPOSITORY    TAG       IMAGE  ID          CREATED         SIZE
hello-world         latest  9c7a54a9a43c    7 months ago       13.3kB

镜像来源有几种:远端仓库、本地仓库、docker tar、docker file,可以通过以下几种方式进行制作,稍后会细说
docker pull #远端拉取
docker build #通过docker file构建
docker load #拉取压缩包
docker commit #通过已有container重新封装

2、容器container

3、镜像仓库registry
远端仓库:hub.docker.com,阿里云仓库等
本地仓库可以自己搭建

docker的安装

环境可以比较随意

VMwareworkstation17 pro

centos7.8.2003

NAT网络

#1、通过get.docker.com官网下载get-docker.sh,并且增加参数,跳过安全验证
curl -fskSL get.docker.com -o get-docker.sh#2、下载安装
#从外网直接安装
sudo sh get-docker.sh
#从阿里云安装
sudo sh get-docker.sh --mirror Aliyun#3、自启动
systemctl enable docker --now#4、把用户添加到docker组内,使其可以使用docker
usermod -aG docker ws
id ws
#uid=1000(ws) gid=1000(ws) groups=1000(ws),982(docker)
su - ws#5、测试
docker run hello-world#6、查看docker守护进程
ps -ef | grep -i dockerd
root      13168  0.4  1.9 1554288 75428 ?       Ssl  18:40   0:57 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

基础docker操作

查看docker版本

docker --version

docker version

#查看docker状态,可以看到docker的客户端与服务器状态、远端仓库地址等

docker info

容器管理

#容器运行
docker run httpd #直接在前台运行
docker run -d #在后台运行
docker run -p 1234:8080/tcp #端口映射,指定端口,将宿主机端口1234映射到容器8080端口,指定tcp协议
docker run -P #端口映射,随机端口
docker run --name #指定名字
docker run -it ...... /bin/bash#使其可交互,并且分配bash
docker run -v 宿主机路径:容器内地址 #指定外部挂载到容器内部,建议使用绝对路径
eg:docker run -itd --name test -p 1234:8080/tcp -v /iso:/var/tftp/boot centos /bin/bash
#CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS                                       NAMES
#886c57251999   centos    "/bin/bash"   37 seconds ago   Up 36 seconds   0.0.0.0:1234->8080/tcp, :::1234->8080/tcp   test#重新进入已经后台运行的容器
docker exec -it 886c57251999 /bin/bash
exit #退出#启动与关闭
docker start containerID #容器,启动!
docker restart containerID #重启#查看正在运行的docker container
docker ps
#查看所有的docker container,包括没起来的
docker ps -a
#查看所有的正在运行docker的容器id
docker ps -q#关闭容器
docker stop containerID #正常关闭
docker stop $(docker ps -aq) #全部关闭
docker kill containerID #强制关闭#删除容器
docker rm containerID
docker rm -f containerID #强制删除
docker rm $(docker ps -aq) #全部删除#复制文件
docker cp 宿主机⽂件路径 容器id:路径

镜像管理

#在镜像仓库中搜索镜像
docker search httpd#从docker官网拉取镜像
#使用阿里云镜像加速,拉取镜像就会优先从远端阿里云仓库拉取,就会快很多
#https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
docker pull httpd
docker pull mysql:5.7 #指定版本拉取#查看镜像
docker images
docker images -a #查看所有镜像
docker images -q #只查看镜像id
#给image添加tag
docker tag xxxxxxxx httpd#删除镜像,默认删除latest版本
docker rmi httpd #指定名称
or
docker image rm httpd #同意思
docker rmi hello-world:latest #指定版本
docker rmi -f hello-world #强制删除

容器镜像封装与加载

#搭建环境
docker pull centos/httpd-24-centos7
docker run -d -p 10001:8080 --name cm01 centos/httpd-24-centos7

#容器打包
#docker commit -m "描述信息" -a "作者信息" 容器ID/容器名称 ⾃定义镜像名称:⾃定义标签
docker commit -m "ws" -a "ws" cm01 wsapache:v1.0

#镜像封装
#docker save 镜像名称:标签 -o 镜像打包的⽂件名 #默认当前目录
docker save wsapache:v1.0 -o wsapache.tar

 #清理环境

docker stop cm01

docker rm cm01

docker rmi wsapache:v1.0

#镜像加载与运行

docker load -i wsapache.tar

docker run -d -p 10001:8080 --name cm01 wsapache:v1.0

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

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

相关文章

研究前沿| Nat Communi:大豆节间距调控基因RIN1的分子机制解析

引言 株型是决定作物产量的重要性状。以半矮秆利用和提高氮肥利用效率为标志的绿色革命提高了作物抗倒伏能力,使水稻、小麦等作物可以通过密植提高单产,产量大幅提升。但是,大豆绿色革命基因尚未发现,与水稻和小麦产量提升相比&am…

如何用CHAT了解历史?

问CHAT:古代有什么常见的简单机械? CHAT回复: 1. 滑轮:滑轮是一种简单的机械,主要提供力量放大、改变力的方向等功能。在古代,人们使用滑轮来托起重物,如水井的提水装置,建造大型建…

大模型元年压轴盛会定档12月28日,第十届WAVE SUMMIT即将启航

文章目录 1. 前言2. WAVE SUMMIT五载十届,AI开发者热血正当时3. 酷炫前沿、星河共聚!大模型技术生态发展正当时 1. 前言 回望2023年,大语言模型或许将是科技史上最浓墨重彩的一笔。从技术、产业到生态,大语言模型在突飞猛进中加速…

使命召唤9缺少buddha.dll的解决方法分享,如何快速修复buddha.dll

《使命召唤》系列作为备受欢迎的第一人称射击游戏,经常会在新作发行后引起广大玩家的讨论。最近,《使命召唤9》玩家中出现了一个常见的技术问题:游戏无法启动,因为系统找不到 buddha.dll 文件。这篇文章将探讨 buddha.dll 的相关信息、丢失原…

软件外包的 20 个问题以及如何避免这些问题

外包很常见。 三分之二的企业进行外包。全国范围内,以某种身份从事自由职业。这意味着全国 40% 的劳动力是个体户或从事零工。 客户支持、软件开发和营销是最常见的外包职能。 外包可以节省成本、提高速度和灵活性。 但这并非没有问题。外包的常见问题最终可能会…

gdb本地调试版本移植至ARM-Linux系统

移植ncurses库 本文使用的ncurses版本为ncurses-5.9.tar.gz 下载地址:https://ftp.gnu.org/gnu/ncurses/ncurses-5.9.tar.gz 1. 将ncurses压缩包拷贝至Linux主机或使用wget命令下载并解压 tar-zxvf ncurses-5.9.tar.gz 2. 解压后进入到ncurses-5.9目录…

智能优化算法应用:基于鸡群算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于鸡群算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于鸡群算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.鸡群算法4.实验参数设定5.算法结果6.参考文献7.MA…

arcgis for js 添加自定义叠加图片到地图坐标点上

在使用arcgis for js开发地图绘制图层时,可以通过相关api实现添加图标到某个坐标点,那么如果现在有一个需要添加一个小图叠大图的需求,又或者是自定义绘制图标,如何实现? 1、简单地绘制一个图标到底图图层上面 const…

C++STL之List的实现

首先我们要实现List的STL,我们首先要学会双向带头链表的数据结构。那么第一步肯定是要构建我们的节点的数据结构。 首先要有数据域,前后指针域即可。 再通过模板类进行模板化。 然后再写List的构造函数,这个地方用T&,通过引用就可以减少一次形参拷…

vue2-elementUI部分组件样式修改

el-radio样式: /deep/ .el-radio__input .el-radio__inner {width: 20px;height: 20px;position: relative;cursor: pointer;-webkit-appearance: none;-moz-appearance: none;appearance: none;border: 1px solid #999;border-radius: 0;outline: none;transition…

阿里云cdn设置相同的域名路径访问不同的oss目录

1.设置回源配置,添加回源URL改写 2.设置跨域,cdn的跨域优先oss 3.回源设置

电商早报 | 12月12日| 淘宝公布2023年度商品初选名单入围

淘宝公布2023年度商品初选名单:军大衣、酱香拿铁、熊猫周边入围 又一年临近收官,淘宝如期启动了“2023年度十大商品”评选。 12月11日,淘宝官方发布了初选入围名单,30件最具代表性的商品脱颖而出。据淘宝路边社介绍,…

784. 字母大小写全排列

字母大小写全排列 描述 : 给定一个字符串 s ,通过将字符串 s 中的每个字母转变大小写,我们可以获得一个新的字符串。 返回 所有可能得到的字符串集合 。以 任意顺序 返回输出。 回文串 是正着读和反着读都一样的字符串。 题目 : LeetCode 784. 字母…

10、RocketMQ的Comsumer的消息队列的分配

前置知识:RocketMQ的topic存在多个队列,而多个topic分配在同一消费组里面,消费组里面存在多个消费者,当消费者注入到消费组时要进行消费者与多个队列之间的分配,而这种分配被称之为Rebalance机制,该机制的本…

Linux命令大全(全网最细讲解)

文章目录 一、基础知识(1) Linux系统的文件结构(2) Linux系统命令行的含义(3)命令的组成二、基础操作(1) 关闭系统(2) 关闭重启(3) 帮…

节日问候:在 Metaverse 中一起庆祝节日!

冬季即将来临,节日的脚步也越来越近,是时候通过 The Sandbox 中的最新活动——“节日问候”来迎接节日气氛了!为期 43 天的庆祝活动从 12 月 11 日开始,到 1 月 22 日结束,将带领玩家穿越一个充满 60 种体验的冬季仙境…

d2l绘图不显示的问题

之前试了各种方法都不行 在pycharm中还是不行,但是在anaconda中的命令行是可以的 anaconda prompt conda activaye py39 #进入f盘 F: #运行文件 python F:\python_code\softmax.py

FreeRTOS的三处栈空间设置分析

1、汇编启动代码中设置栈 这个栈空间只有300字节,是用于汇编启动代码早期,以及调用C语言的main函数(创建任务等)在创建好任务,启动调取器后,这个栈空间就被抛弃掉,后续不会使用到等调度器开启后…

深入理解Dubbo-5.服务注册源码分析

👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家📕系列专栏:Spring源码、JUC源码、Kafka原理、分布式技术原理🔥如果感觉博主的文章还不错的话&#xff…

Self-Distillation from the Last Mini-Batch for Consistency Regularization中文版

Self-Distillation from the Last Mini-Batch for Consistency Regularization 从上一个小批量自发蒸馏,实现一致性正则化 摘要 知识蒸馏(Knowledge distillation,KD)展示了强大的潜力,作为一种强有力的正则化策略&a…