【容器】docker基础使用

2023-08-05 22:22:47

一、docker常见命令

docker是一个容器化平台。
Docker介绍:(官网:https://www.docker.com/get-started)

Docker 是一个开源的应用容器引擎,你可以把它当作一个轻量级的虚拟机。它可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的操作系统,比如 Linux/Windows/Mac 的机器上。Docker 容器相互之间不会有任何接口,而且容器本身的开销极低,这就让 Docker 成为了非常灵活、安全、伸缩性极强的计算资源平台。

以下是一些常见的 Docker 命令:

  1. 镜像相关命令:
  • docker images:列出本地的镜像。
  • docker pull <image>:从 Docker 镜像仓库中下载镜像。
  • docker push <image>:将本地的镜像推送到镜像仓库。
  • docker rmi <image>:删除本地的镜像。
  1. 容器相关命令:
  • docker run <image>:根据镜像创建并启动一个容器。
  1. -d
    后台运行容器,并返回容器ID,此时不会进入交互界面,如果想要进入交互界面请加-i和-t参数。
    如果用了-d参数未进入容器的时候,在想进入容器,指令:docker exec -it 容器名称 /bin/bash;

  2. -i
    -i: 以交互模式运行容器,通常与 -t 同时使用;

  3. -t
    -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

  4. -P
    -P: 随机端口映射,容器内部端口随机映射到主机的端口

  5. -p
    -p: 指定端口映射,格式为:主机(宿主)端口:容器端口

  6. –name
    –name=“xxxxx”: 为容器指定一个名称,名字叫xxxxx;

  7. –dns
    –dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;

  8. -e
    -e username=“ritchie”: 设置环境变量;

  9. -cpuset
    –cpuset=“0-2” or --cpuset=“0,1,2”: 绑定容器到指定CPU运行;

  10. -m
    -m :设置容器使用内存最大值;

  11. -net
    –net=“bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;

  12. -link
    –link=[]: 添加链接到另一个容器;

  13. -expose
    –expose=[]: 开放一个端口或一组端口;

  14. -v
    –volume , -v: 绑定一个卷

注意:-v参数中,冒号":"前面的目录是宿主机目录,后面的目录是容器内目录。
容器目录不可以为相对路径。
宿主机目录如果不存在,则会自动生成。

  • docker start <container>:启动一个已停止的容器。
  • docker stop <container>:停止一个正在运行的容器。
  • docker restart <container>:重启一个容器。
  • docker rm <container>:删除一个容器。
  • docker ps:列出正在运行的容器。
  • docker ps -a:列出所有的容器。
  1. 日志和输出相关命令:
  • docker logs <container>:查看容器的日志。
  • docker exec -it <container> <command>:在运行的容器中执行命令。
sudo docker exec -it your_container_name python a.py 

# 或者直接进入容器后直接python a.py
  • docker attach <container>:附加到正在运行的容器的标准输入、输出和错误流。
  1. 网络和端口相关命令:
  • docker network ls:列出 Docker 网络。
  • docker network create <network>:创建一个自定义网络。
  • docker port <container>:查看容器的端口映射。

运行 docker --help 或查阅 Docker 官方文档来获取更详细的命令信息和使用说明。

二、注意事项

  • 镜像可视为软件包(包括程序运行所需的代码、环境、库文件、系统工具等)
  • 下载镜像后可以创建容器,容器是镜像的实例,容器可以被启动、停止、删除和管理,类似一个隔离的进程
    • 容器状态可修改,如向容器加入文件、修改配置等
    • 如果需要将修改后的容器保存下来,可以通过docker提供的镜像构建命令转为一个新的镜像

在这里插入图片描述

Reference

[1] docker官方文档:https://docs.docker.com/engine/reference/run/
[2] docker镜像的制作、导入和导出
[3] 如何使用 Docker 部署容器
[4] 通过pycharm登录远程服务器上的docker的完整过程
[5] 基本 Docker 命令.Microsoft文档
[6] Docker命令及参数详解

更多推荐

华为云CodeArts Check代码检查服务用户声音反馈集锦(6)

CodeArtsCheck(原CodeCheck),是自主研发的代码检查服务。建立在华为30年自动化源代码静态检查技术积累与企业级应用经验的沉淀之上,为用户提供代码风格、通用质量与网络安全风险等丰富的检查能力,提供全面质量报告、便捷的问题闭环处理帮助企业有效管控代码质量,助力企业成功:感兴趣的小伙伴可以点此>>体验下服

马斯洛需求层次模型分析之云安全浅谈

基于马斯洛需求层次模型,我们可以将互联网云安全建设和运营分析分为五个阶段,每个阶段对应一些关键的安全关键词,以下内容是对这些阶段的浅显分析:第一阶段:基础设施安全(生理需求)在初始阶段,云服务提供商需要确保基础设施的安全性,包括数据中心、网络、系统等方面。这涉及到的关键词有:数据中心安全:确保数据中心物理设施的安全,如

kubernetes(k8s)PVC

概念PVC的全称是:PersistentVolumeClaim(持久化卷声明),PVC是用户存储的一种声明,PVC和Pod比较类似,Pod消耗的是节点,PVC消耗的是PV资源,Pod可以请求CPU和内存,而PVC可以请求特定的存储空间和访问模式。对于真正使用存储的用户不需要关心底层的存储实现细节,只需要直接使用PVC即

【AGC】认证服务开发问题汇总

1.开发者在服务端集成认证服务SDK,想通过验证用户凭据接口来验证从客户端获取的token,在调用过程中响应数据报code203818355的错误解决方案:该错误显示accessToken格式不正确。首先确认Authorization中的accesstoken是通过管理员角色,项目为N/A的ClientID和Clien

【mysql】—— 函数的基本介绍

前言:MySQL是一种常用的关系型数据库管理系统,它提供了许多内置的函数来进行数据操作和处理。本期,我将给大家介绍的就是关于“函数”的相关知识!!!目录(一)日期函数(二)字符串函数(三)数学函数(四)其它函数总结(一)日期函数MySQL提供了一系列用于处理日期和时间的内置函数,可以对日期值进行提取、格式化、计算和比较

企业蓄电池怎么实时监测?这个方法最简单使用!

在这个数字时代,企业对电力的依赖性愈发显著,这使得电池系统成为维持业务连续性的不可或缺的一环。蓄电池监控不仅有助于实时跟踪电池系统的性能和状态,还有助于预测问题,提前采取措施以防止电力中断。它还可以帮助企业降低能源成本,延长电池寿命,提高能源效率,以及满足可持续性和环保目标。客户案例常州某制药公司生产设施在各地内分布,

C++回顾录03-C++类和对象

类是创建对象的模板,一个类可以创建多个对象,每个对象都是类类型的一个变量;创建对象的过程也叫类的实例化。每个对象都是类的一个具体实例(Instance),拥有类的成员变量和成员函数。类是用户自定义的类型,如果程序中要用到类,必须提前说明,或者使用已存在的类(别人写好的类、标准库中的类等),C++语法本身并不提供现成的类

京东医疗器械分类汇总

京东医疗器械分类汇总,发布医药商品的时候需要选择的分类,有需要的吗整理为HTML代码<selectname="type"><optionvalue=""></option><optionvalue="Ⅱ类6866">Ⅱ类6866</option><optionvalue="Ⅱ类6822">Ⅱ类6822</option>

Hadoop设置固定ip无效的解决办法

今天配置Hadoop的时候,执行vi/etc/sysconfig/network-scripts/ifcfg-ens33修改网络配置文件后,一切正常,但重启后IP改变了,并且在修改以及重启网络连接数次后,IP依旧不按照我在ifcfg-ens33中配置的那样,检查了各处地方,仍然不行,在数小时的查错改错过程中发现了问题所

提升利润的秘密武器:超好用的跨境电商系统源码推荐

在竞争激烈的电商市场中,提高利润是每个卖家的追求。而跨境电商系统源码成为了许多成功卖家的秘密武器。本文将揭示为什么选择跨境电商系统源码,以及它在利润提升方面的重要作用。超好用的跨境电商系统源码推荐如果你正在寻找一款功能强大、易于使用和定制的跨境电商系统,那么你来对地方了。在本节中,我们将推荐一款超好用的跨境电商系统源码

60从零开始学Java之与数字相关的类有哪些?

作者:孙玉昌,昵称【一一哥】,另外【壹壹哥】也是我哦千锋教育高级教研员、CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者前言我们在解决实际问题时,会经常对数字、日期和系统设置进行处理,比如在我们的代码中,经常会遇到一些数字&数学问题、随机数问题、日期问题和系统设置问题等。为了解决这些问题,Java给我们提供了多

热文推荐