Docker操作指南

news2025/7/22 8:34:51

Docker操作指南

概念解释:

镜像(Image):Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起供运行启动,称为镜像。

容器(Container):镜像中的应用程序运行后形成的进程就是容器,容器之间是隔离,容器对外也是不可见的

镜像托管平台(DockerHub):DockerHub是一个Docker镜像的托管平台。这样的平台称为Docker Registry。国内的网易云镜像服务、阿里云镜像库等都是类似的作用

ps:docker的环境安装可自行看官网,这里不做赘述了

  • 第一阶段—镜像初始化:

docker pull:拉取镜像
docker push:推送镜像
docker images:查看镜像列表
docker rmi:删除镜像
docker save:打包镜像成tar包
docker load:加载tar镜像包

  • 第二阶段—启停阶段

docker run:创建并运行一个容器,处于运行状态
docker rm:删除一个容器
docker start:让一个停止的容器再次运行
docker stop:停止一个运行的容器
docker pause:让一个运行的容器暂停
docker unpause:让一个容器从暂停状态恢复运行

  • 第三阶段—过程管理

docker exec:进入容器内
docker logs:查看容器日志
docker ps:查看docker进程
docker --help:查看命令帮助

以Nginx安装作为案例讲解

1.镜像拉取

(1)在DockerHub上拉取Nginx镜像
(地址:https://hub.docker.com/_/nginx)
搜索Nginx,使用docker pull nginx不带tag,则默认为拉取最新的版本latest
在这里插入图片描述
(2)进入服务器拉取镜像
命令:docker pull nginx

[root@dev02 ~]docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
a2abf6c4d29d: Pull complete 
a9edb18cadd1: Pull complete 
589b7251471a: Pull complete 
186b1aaa4aa6: Pull complete 
b4df32aa5a72: Pull complete 
a0bcbecc962e: Pull complete 
Digest: sha256:0d17b565c37bcbd895e9d92315a05c1c3c9a29f762b011a10c54a66cd53c9b31
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest

(3)查看镜像
命令:docker images

[root@dev02 ~] docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
nginx        latest    605c77e624dd   14 months ago   141MB

如果要删除无用的镜像,可执行下命令(强删除)

[root@dev02 ~]docker rmi -f 605c77e624dd

2.容器部署与查看

a.容器启动
命令:docker run --name [容器名称] -p [宿主机端口]:[容器端口] -d nginx

[root@dev02 ~] docker run --name mynginx -p 80:80 -d nginx
8103e1281a9a814de051d045b82153ac41a3a3b19b5220e324f0b2328341f92d

命令解读:
docker run :创建并运行一个容器
–name : 给容器确定个名字一个名字,案例命名为mynginx
-p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口
-d:后台运行容器
nginx:镜像名称,案例用nginx
b.容器查看:

[root@dev02 ~]19 docker ps -a
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                NAMES
8103e1281a9a   nginx     "/docker-entrypoint.…"   4 minutes ago   Up 4 minutes   0.0.0.0:80->80/tcp   mynginx

此时可访问主机ip,显示为nginx index主页则启动成功
在这里插入图片描述

3.查看容器日志

命令:docker logs [容器id]

[root@dev02 ~]21 docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                NAMES
8103e1281a9a   nginx     "/docker-entrypoint.…"   10 minutes ago   Up 10 minutes   0.0.0.0:80->80/tcp   mynginx
[root@dev02 ~]22 docker logs 8103e1281a9a
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
2023/03/06 09:21:43 [notice] 1#1: using the "epoll" event method
2023/03/06 09:21:43 [notice] 1#1: nginx/1.21.5
2023/03/06 09:21:43 [notice] 1#1: built by gcc 10.2.1 20210110 (Debian 10.2.1-6) 
2023/03/06 09:21:43 [notice] 1#1: OS: Linux 3.10.0-1062.el7.x86_64
2023/03/06 09:21:43 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2023/03/06 09:21:43 [notice] 1#1: start worker processes

ps:如果要跟踪日志实时输出,可在命名上加参数-f
如 docker logs 8103e1281a9a -f

4.进入容器内部

命令:docker exec -it [容器名] [要执行的命令]

[root@dev02 ~] docker exec -it mynginx bash
root@8103e1281a9a:/# 

命令解读:
docker exec :进入容器内部,执行一个命令
-it : 给当前进入的容器创建一个标准输入、输出终端,允许我们与容器交互
mynginx :要进入的容器的名称
bash:进入容器后执行的命令,bash是一个linux终端交互命令
ps:进入容器后,可按需操作

到此流程基本完结

备注:docker命令参数无需一一记住,用好–help
如:
demo1:查看docker save 的指令说明

[root@dev02 ~]1 docker save --help

Usage:  docker save [OPTIONS] IMAGE [IMAGE...]

Save one or more images to a tar archive (streamed to STDOUT by default)

Options:
 -o, --output string   Write to a file, instead of STDOU

demo2:查看docker所有的指令说明

[root@zhdc-ibms-dev02 ~]2 docker --help

Usage:  docker [OPTIONS] COMMAND

A self-sufficient runtime for containers

Options:
      --config string      Location of client config files (default "/root/.docker")
  -c, --context string     Name of the context to use to connect to the daemon (overrides DOCKER_HOST env var and default context set with
                           "docker context use")
  -D, --debug              Enable debug mode
  -H, --host list          Daemon socket(s) to connect to
  -l, --log-level string   Set the logging level ("debug"|"info"|"warn"|"error"|"fatal") (default "info")
      --tls                Use TLS; implied by --tlsverify
      --tlscacert string   Trust certs signed only by this CA (default "/root/.docker/ca.pem")
      --tlscert string     Path to TLS certificate file (default "/root/.docker/cert.pem")
      --tlskey string      Path to TLS key file (default "/root/.docker/key.pem")
      --tlsverify          Use TLS and verify the remote
  -v, --version            Print version information and quit

Management Commands:
  app*        Docker App (Docker Inc., v0.9.1-beta3)
  builder     Manage builds
  buildx*     Docker Buildx (Docker Inc., v0.8.2-docker)
  config      Manage Docker configs
  container   Manage containers
  ......省略

------编辑者:梦想的边缘

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

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

相关文章

3.7 最大异或对

异或 二进制位同为0,异为1 异或符号 ^ 异或性质: a^a0 a^00 (a^ b ^c) (a^c ^b) 一道异或的题目 最大异或对 题目链接 思路 注重思维方式 首先是暴力想法,使用两重循环,对每两个数字进行取异或运算,得出最大值考虑…

wireshark 着色规则的含义

文章目录前言wireshark 着色规则的含义前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!! wires…

【FATE联邦学习debug】 No module named ‘federatedml‘

直接pip install federatedml是无法找得到这个库的。 这个的原因是环境变量的事情,因为在部署文档中,本身提示我们要更新一些环境变量,如果不export那些变量,下面的fate_test其实也是无法测试成功的。 打开bin/init_env.sh&#x…

活动回顾|龙蜥社区标准化SIG首届MeetUp圆满落幕 《龙蜥社区治理规范》征求意见稿正式发布

2 月 25 日周六,龙蜥社区标准化 SIG 召开首次 MeetUp,会上发布了《龙蜥社区治理规范》征求意见稿,致力于通过标准规范开源社区发展,进而推动操作系统行业的规范发展。(图/现场合照)本次会议共有来自电子标准…

Espressif-IDE v2.8.0 新增功能及开发方向

在乐鑫最近发布的 Espressif-IDE 2.8.0 版本中,我们推出了分区表编辑器和 NVS 分区编辑器功能,优化现有调试器的配置功能并修复多项 Bug ,进一步为用户提升了插件质量以及稳定性。 用户可以点此获取最新版本。 • 若您的设备为 Windows 系统…

Python 插件虚拟环境支持

eKuiper 团队于年前发布了 1.8.0 版本,并在 2 月对该版本的文档进行了完善,同时通过 EMQ Demo Day 直播帮助用户更进一步了解新功能的使用场景。 我们也开始了下一个版本 1.9.0 的开发,该版本将是一个较小的迭代版本,主要目标是实…

矩阵打印问题

文章目录1、题目一:正方形矩阵顺时针转动90度1.1 题目描述1.2 思路分析1.3 代码实现2、题目二:转圈打印长方形矩阵2.1 题目描述2.2 思路分析2.3 代码实现3、题目三:zigzag打印矩阵3.1 题目描述3.2 思路分析3.3 代码实现4、题目四:…

NFS服务器与CGI程序详解

目录 NFS 服务器 一,NFS 服务器简介 二,NFS的使用 三,客户端使用 autofs 自动挂载 1,autofs产生的原因 四,autofs的安装与配置文件 五,autofs的使用 www服务器---cgi程序 CGI程序的应用 NFS 服务器 一&a…

React(六):Redux的使用、react-redux简化代码、redux模块化、RTK的使用

React(六)一、Redux测试项目搭建1.创建store仓库2.创建reducer函数(纯函数)3.constants.js保存action名字4.修改store中的数据5.动态生成action二、React中如何使用redux1.安装redux2.创建store3.组件中订阅store4.派发action修改…

运行Hive

Hive的定义:基于Hadoop的数据仓库解决方案将结构化的数据文件映射为数据库表提供类sql的查询语言HQL (Hive Query Language)Hive让更多的人使用hadoopHive的运行机制Hive 通过给用户提供的一系列交互接口,接收到用户的指令(SQL),使用自己的 D…

LinkedIn最好的辅助工具

领英精灵都有什么功能领英精灵是我国技术人员花巨资针对领英平台研发的辅助工具。具有好友分组、备注,一键批量加好友,批量撤回邀请,批量群发消息,批量导出好友资料,批量点赞六大功能。通过领英精灵可大大提高领英开发…

自建服务器系列- DDNS配置

1、环境说明 光猫桥接路由器拔号的模式 2、DDNS是什么 对于DHCP方式获得的IP,无论对于局域网内来说,还是外网来说,都会有使得IP地址每隔一段时间变化一次,如果想要通过恒定不变的地址访问主机,就需要动态域名解析。…

凝聚共识,锚定未来 | 第四届OpenI/O 启智开发者大会NLP大模型论坛成功举办!

2023年2月24日下午,第四届OpenI/O启智开发者大会NLP大模型分论坛在深圳人才研修院隆重举办。该论坛以“开源集智创新探索中文NLP大模型生态发展”为主题,众多业内人士和研发者在此共享NLP领域的前沿动态和研发经验,畅想中国NLP领域的发展前景…

RocketMQ 5.0 学习笔记

1. 需求 背景:业务需要,平台将使用rocketMQ来实现消息的发送与消费,替代redis的消息功能。 需要在搭建好rocketMQ平台后,进行研究和验证。 技术:Springboot RocketMQ5.0 使用场景:签到活动&#xff0c…

DBCO intermidate 3,二苯并环辛炔-四乙酰甘露糖胺一种生化小分子糖标记

DBCO-四乙酰甘露糖胺 ,二苯并环辛炔-四乙酰甘露糖胺 | 纯度:95% | DBCO intermidate 31.试剂信息:CAS:N/A外观:固体/粉末分子量:C33H34N2O11分子式:634.64溶解性:溶于有机溶剂&#…

Unity项目优化方案2023

每年整个新活,每年出个手游项目。又到了项目收尾的季节,也是最掉头发的时候。这两周开启漫漫的优化之路。老方法,先按住Ctrl7,打开profiler性能分析工具,找到性能占用的大头。不用看也能猜到,Batches是优化…

JavaEE简单示例——MyBatis的二级缓存机制

简单介绍: 在之前,我们介绍了关于MyBatis的一级缓存机制,之前我们说过,一级缓存是基于SqlSession的对同一条SQL语句多次查询的时候,会将第一次查询的结果缓存到内存中,之后的所有的相同的查询会直接从内存…

修改redis改key值不改过期时间

今天在做图片验证码的时候遇到一个问题。用redis的生命周期来存放,用户输入错误次数。 三十秒内输错三次就,等待三十分钟。 那么问题来了,如果说第一次输入错误,应该是 key为用户用,value 为 次数2 ex就为30秒 &…

[数据结构]:13-插入排序(顺序表指针实现形式)(C语言实现)

目录 前言 已完成内容 插入排序实现 01-开发环境 02-文件布局 03-代码 01-主函数 02-头文件 03-PSeqListFunction.cpp 04-SortCommon.cpp 05-SortFunction.cpp 结语 前言 此专栏包含408考研数据结构全部内容,除其中使用到C引用外,全为C语言代…

M2E2: Cross-media Structured Common Space for Multimedia Event Extraction 论文解读

Cross-media Structured Common Space for Multimedia Event Extraction 论文:multimediaspace2020.pdf (illinois.edu) 代码:limanling/m2e2: Cross-media Structured Common Space for Multimedia Event Extraction (ACL2020) (github.com) 期刊/会议…