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

docker使用(镜像、容器)

docker基础使用

文章目录

  • 前言
  • 1.镜像操作
    • 1.1命令介绍
    • 1.2.案例实操
      • 1.2.1查找镜像
      • 1.2.2下载镜像
      • 1.2.3查看当前镜像
  • 2.容器操作
    • 2.1命令
      • 2.1.1容器创建与启动
      • 2.1.2. 容器查看
      • 2.1.3. 容器操作
      • 2.1.4. 容器删除
      • 2.1.5. 容器日志
      • 2.1.6. 容器内文件操作
      • 2.1.7. 容器内命令执行
      • 2.1.8. 其他常用命令
    • 2.2.实例
      • 2.2.1运行容器
      • 2.2.2查看容器
      • 2.2.3替换自己的页面
        • 2.2.3.1进入容器交互界面
        • 2.2.3.2修改默认页面
        • 2.2.3.3退出容器操控界面
  • 总结


前言

dokcer的出现以及容器化技术的使用让我们能够更轻易的搭建环境和部署项目。
windows系统上通过docker desktop图形化工具可以简单直观的进行docker部署。
但是多数的项目是部署在linux服务器上,所以本篇介绍一些docker在linux上的基础使用方式。

这里演示时使用的操作系统是CentOS7


1.镜像操作

1.1命令介绍

  • docker search 镜像名:检索
  • docker pull 镜像名:镜像版本:下载
  • docker images:查看已有镜像
  • docker rmi 镜像名:镜像版本:删除已有镜像,其中镜像名和镜像版本可以换为镜像id

1.2.案例实操

1.2.1查找镜像

使用docker search命令查找镜像只会显示最新版本的镜像,如果要安装镜像的其他版本,需要到dockerhub上自行查找相关命令。
在这里插入图片描述

1.2.2下载镜像

使用docker pull下载镜像
在这里插入图片描述

1.2.3查看当前镜像

使用docker images可以看到已下载镜像的名称、版本、下载时间、大小。

在这里插入图片描述

2.容器操作

2.1命令

2.1.1容器创建与启动

  • docker run 可选参数 镜像名 额外参数:新建并启动容器。
    可以指定容器的名称、使用的镜像、端口映射、环境变量等。

例如,docker run -it --name my-nginx -p 8080:80 nginx 会创建一个名为my-nginx的容器,并将容器的80端口映射到主机的8080端口。该命令启动容器时,除了某些通用的可选参数外,还有一些镜像自己特有的参数,具体要看镜像文档说明。如果本地没找到对应的镜像,就会到hub中查找下载并运行。

2.1.2. 容器查看

  • docker ps:列出当前正在运行的容器。通过添加-a参数可以列出所有容器(包括历史运行过的容器)。
  • docker inspect:查看容器的详细信息,如配置、网络设置等。

2.1.3. 容器操作

  • docker start 容器名:启动已经停止的容器。
  • docker stop 容器名:停止正在运行的容器。
  • docker restart 容器名:重启容器。
  • docker kill 容器名:强制停止容器。

2.1.4. 容器删除

  • docker rm 容器名:删除已停止的容器。使用-f参数可以强制删除正在运行的容器。例如,docker rm -f $(docker ps -a -q) 会删除所有容器。

2.1.5. 容器日志

  • docker logs:查看容器的日志输出。使用-f参数可以实时查看日志。

2.1.6. 容器内文件操作

  • docker cp:在容器与主机之间拷贝文件。例如,docker cp 容器ID:容器内路径 主机路径 可以将容器内的文件拷贝到主机上。

2.1.7. 容器内命令执行

  • docker exec:在运行的容器中执行命令。例如,docker exec -it 容器ID /bin/bash 会在容器中启动一个新的bash会话。
  • docker attach:连接到正在运行的容器的标准输入输出流。与docker exec不同,docker attach会直接进入容器的当前终端会话,如果容器中没有正在运行的终端会话,则docker attach会失败。

2.1.8. 其他常用命令

  • docker top:查看容器内运行的进程。
  • docker port:列出容器的端口映射。
  • docker commit:从容器创建一个新的镜像。

2.2.实例

下面我们来演示一个实例——我们需要在云服务器上使用上一节下载的nginx镜像启动一个nginx容器,并使用它部署我们的网页到云服务器上。

2.2.1运行容器

这里把nginx容器的80端口映射到云服务器的80端口上,这样一来就可以访问云服务器的80端口来使用 nginx容器的服务。

在这里插入图片描述
docker run -d --name myginx -p 80:80 nginx

2.2.2查看容器

在这里插入图片描述
docker ps

2.2.3替换自己的页面

2.2.3.1进入容器交互界面

我们可以使用docker exec来到容器内进行操作。
以下命令指定要操控myginx容器,并且以bash(命令行)的形式操控。
在这里插入图片描述
docker exec -it myginx /bin/bash

2.2.3.2修改默认页面

docker容器中的linux系统十分轻便,没有安装vim编辑器,所以只能使用原生的linux命令来进行修改
在这里插入图片描述
修改了一下容器中部署的index.html文件内容为:

chen,docker

于是成功替换nginx默认页内容.效果如下:
在这里插入图片描述

2.2.3.3退出容器操控界面

输入exit即可退出对当前容器的操控
在这里插入图片描述


总结

本章简单介绍了如何在linux中使用docker完成基础的容器创建和运行。
后面还会再华另外的文章介绍如何更进一步使用docker的目录挂载,卷映射,网络。
以及如何使用docker compose批量管理容器,如何使用docker file打包等。


http://www.kler.cn/a/422177.html

相关文章:

  • 项目搭建:spring,springmvc,mybatis,maven
  • C++设计模式之享元模式
  • 11.爬虫
  • 底部导航栏新增功能按键
  • 使用CertD全自动申请和部署SSL证书至服务器
  • 做异端中的异端 -- Emacs裸奔之路4: 你不需要IDE
  • sheng的学习笔记-【中】【吴恩达课后测验】Course 5 - 序列模型 - 第三周测验 - 序列模型与注意力机制
  • 用于LiDAR测量的1.58um单芯片MOPA(一)
  • Y20030018基于Java+Springboot+mysql+jsp+layui的家政服务系统的设计与实现 源代码 文档
  • [Redis#9] stream | geospatial | HyperLogLog | bitmaps | bitfields
  • Create Stunning Word Clouds with Ease!
  • 【短视频矩阵系统==saas技术开发】
  • 移动机器人课程建图实验-ROSbug汇总
  • C. Raspberries
  • esp8266 编译、烧录环境搭建
  • 5G学习笔记之PRACH
  • 【AI系统】推理系统介绍
  • Vue3 使用inject 获取provide 发布的响应式数据动态更新失败问题解决
  • 爬虫抓取的数据能用于商业分析吗?
  • 第四话:JS中的eval函数
  • Influxdb 部署详解
  • 2-2-18-9 QNX系统架构之文件系统(三)
  • Qt5中使用EPICS通道访问读写EPICS PV
  • Qt几何数据类型:QLine类型详解(基础向)
  • 时序图学习
  • 1203论文速读