docker基本使用方法

这篇具有很好参考价值的文章主要介绍了docker基本使用方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

docker使用

1. Docker 介绍

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。

1.1 Docker 架构

Docker 包括三个基本概念:

  • 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
  • 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
  • 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。

容器与镜像的关系类似于面向对象编程中的对象与类。

1.2 Docker 安装

Docker 并非是一个通用的容器工具,它依赖于已存在并运行的 Linux 内核环境。Docker 实质上是在已经运行的 Linux 下制造了一个隔离的文件环境,因此它执行的效率几乎等同于所部署的 Linux 主机。因此,Docker 必须部署在 Linux 内核的系统上。

  • ubuntu 安装
 curl -fsSL https://test.docker.com -o test-docker.sh
 sudo sh test-docker.sh
  • 卸载
# 删除安装包
sudo apt-get purge docker-ce
# 删除镜像、容器、配置文件等内容
sudo rm -rf /var/lib/docker
  • windows安装

如果其他系统想部署 Docker 就必须安装一个虚拟 Linux 环境。在 Windows 上部署 Docker 的方法都是先安装一个虚拟机,并在安装 Linux 系统的的虚拟机中运行 Docker。

docker基本使用方法,linux学习,docker,容器,运维

链接:https://www.runoob.com/docker/ubuntu-docker-install.html

1.3 Docker Hello world

Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序。

  • 输出Hello world
docker run ubuntu:15.10 /bin/echo "Hello world"

以上命令完整的意思可以解释为:Docker 以 ubuntu15.10 镜像创建一个新容器,然后在容器里执行 bin/echo “Hello world”,然后输出结果。

  • 各个参数解析:

    • docker: Docker 的二进制执行文件。

    • run: 与前面的 docker 组合来运行一个容器。

    • ubuntu:15.10 指定要运行的镜像,Docker 首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。

    • /bin/echo “Hello world”: 在启动的容器里执行的命令

  • Docker 镜像加速

    国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器;Docker 官方和国内很多云服务商都提供了国内加速器服务,例如:

    • 科大镜像:https://docker.mirrors.ustc.edu.cn/

    • 网易:https://hub-mirror.c.163.com/

    • 阿里云:https://<你的ID>.mirror.aliyuncs.com

    • 七牛云加速器:https://reg-mirror.qiniu.com

  • 加速配置Ubuntu16.04+、Debian8+、CentOS7

​ 对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果不存在请新建该文件):

{"registry-mirrors":["https://reg-mirror.qiniu.com/"]}

之后重新启动服务:

sudo systemctl daemon-reload
sudo systemctl restart docker

2. Docker 常用命令

2.1 Docker 容器使用

  • 查看到 Docker 客户端的所有命令选项
docker
  • docker command --help 更深入的了解指定的 Docker 命令使用方法
docker stats --help
  • 获取镜像
docker pull ubuntu
  • 启动容器
docker run -it ubuntu /bin/bash

# 参数说明:
# -i: 交互式操作。
# -t: 终端。
# ubuntu: ubuntu 镜像。
# /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash/
# 要退出终端,直接输入 exit
  • 退出容器
exit
  • 查看所有的容器
docker ps -a
  • 使用 docker start 启动一个已停止的容器
docker start b750bbbcfd88
  • 后台运行

    在大部分的场景下,我们希望 docker 的服务是在后台运行的,我们可以过 -d 指定容器的运行模式

# 加了 -d 参数默认不会进入容器
docker run -itd --name ubuntu-test ubuntu /bin/bash
  • 停止容器
docker stop <容器 ID>
  • 停止的容器可以通过 docker restart 重启
docker restart <容器 ID>
  • 进入容器

在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入

# 使用 docker attach 命令进入容器,退出后会导致容器的停止
docker attach 1e560fca3906

# 使用 docker exec 命令进入容器,退出后容器会继续运行
docker exec -it 243c32535da7 /bin/bash
  • 导出容器
docker export 1e560fca3906 > ubuntu.tar
  • 导入容器
# 以下实例将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1:
cat docker/ubuntu.tar | docker import - test/ubuntu:v1

# 通过指定 URL 或者某个目录来导入
docker import http://example.com/exampleimage.tgz example/imagerepo
  • 删除容器
docker rm -f 1e560fca3906
  • 内容传输

    • 导出
    # docker cp <容器ID或名称>:<容器内路径> <本地主机路径>
    docker cp 15bb76c6f6d6:/models/aircas/model/default/model_20230801-111150 /data/xzf/
    
    • 导入
    # docker cp <容器ID或名称>:<容器内路径> <本地主机路径>
    docker cp /home/user/data.txt mycontainer:/app
    
    

2.2 Docker 镜像使用

  • 列出所有镜像
docker images

docker基本使用方法,linux学习,docker,容器,运维

各个选项说明:

  • **REPOSITORY:**表示镜像的仓库源
  • **TAG:**镜像的标签
  • **IMAGE ID:**镜像ID
  • **CREATED:**镜像创建时间
  • **SIZE:**镜像大小

同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,如 ubuntu 仓库源里,有 15.10、14.04 等多个不同的版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。

  • 进入容器
docker run -it ubuntu:20.04 /bin/bash 

# 参数说明:
# -i: 交互式操作。
# -t: 终端。
# ubuntu:20.04: 这是指用 ubuntu 20.04 版本镜像为基础来启动容器。
# /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash
  • 获取新的镜像
docker pull ubuntu:13.10
  • 查找镜像
    • 从 Docker Hub 网站来搜索镜像,Docker Hub 网址为: https://hub.docker.com/
    • 使用 docker search 命令来搜索镜像
docker search httpd
  • 删除镜像
# 镜像删除使用 docker rmi 命令,比如我们删除 hello-world 镜像
docker rmi hello-world

2.3 Docker 容器连接

  • 网络端口映射

    使用 -P 绑定端口号,使用 docker ps 可以看到容器端口 5000 绑定主机端口 32768

# Docker 端口映射的语法是 -p [主机端口]:[容器端口]
# 以下命令将容器的端口 80 映射到主机的端口 8080
docker run -p 8080:80 [容器名称或 ID]

# 将容器暴露给主机的所有网络接口,而不仅仅是 localhost,使用 0.0.0.0 表示所有的 IP 地址
docker run -p 0.0.0.0:8080:80 [容器名称或 ID]

2.4 Docker Compose

  • Compose 使用的三个步骤:

    • 定义应用程序的环境(使用ubuntu:20.04镜像)

    • 使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行

    • 执行 docker-compose up 命令来启动并运行整个应用程序

  • 定义docker-compose.yml文章来源地址https://www.toymoban.com/news/detail-647362.html

version: '3'
services:

	# 容器名称
    test:
    	# 镜像名称
        image: ubuntu:20.04
        # 端口映射
        ports:
          - "12009:22"
          - "15009:5005"
        # 环境
        environment:
          LANG: zh_CH.UTF-8
        # 路径映射,将本地test映射到容器的code路径下
        volumes:
          - ./test:/code
          - /etc/localtime:/etc/localtime:ro
        # 设置ssh的登录密码
        command: bash -c "/usr/sbin/sshd -D && passwd && 123"
        privileged: true

  • 运行容器
# -d 后台运行容器
docker-compose up -d

到了这里,关于docker基本使用方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关于学习单片机keil uvision5的基本使用方法

    单片机是一门非常考验动手实践能力的科目,我们经常会使用到keil5(4也是一样的),而这个软件新手编写程序一般都是用的C语言,对新手小白非常地友好。我推荐大家可以去b站看江科大的单片机教学,讲的非常通俗易懂,我在大学的协会里就经常默默地看视频自学,希望大家

    2024年02月07日
    浏览(42)
  • 【Python_Selenium学习笔记(一)】Selenium介绍及基本使用方法

    Selenium是一套 Web 网站的程序自动化操作解决方案,广泛应用于自动化测试及爬虫。此篇文章主要介绍 Selenium 的 安装和基本使用流程。 Selenium 框架的安装主要就是安装两样东西: Selenium 客户端库 和 浏览器驱动 。 1.1、Selenium 框架安装 使用 pip 命令安装 pip install selenium ,安装

    2023年04月13日
    浏览(61)
  • 蓝桥杯单片机比赛学习:12、DS1302时钟基本原理与使用方法

    DS1302是 DALLAS 公司推出的时钟芯片,内含一个实时时钟/日历和 31字节静态 RAM,通过简单的串行接口与单片机进行通信。实时时钟/日历电路提供秒、分、时、日、周、月、年的信息,每月的天数和闰年的天数可自动调整。 但是在我们比赛中一般只需要写/读时钟。 DS1302可以采

    2024年02月02日
    浏览(49)
  • 蓝桥杯单片机比赛学习:9、PCF8591的基本原理和使用方法

    前面一节我们说了PWM呼吸灯的基本原理和使用方法,下面我们来看第二个模块,也是蓝桥杯单片机比赛中常考的一个模块——PCF8591。 我主页有其他模块的使用方法和基本原理(2条消息) Do My Best的博客_CSDN博客-蓝桥杯单片机比赛学习领域博主 PCF8591实际上就是一个具有 I2C 总线

    2024年02月02日
    浏览(45)
  • 学习opencv.js之基本使用方法(读取,显示,灰度化,边缘检测,特征值点检测)

    OpenCV.js 是 OpenCV(Open Source Computer Vision Library)的 JavaScript 版本。OpenCV 是一个广泛使用的计算机视觉和图像处理库,提供了一系列功能强大的算法和工具,用于处理图像、视频、特征提取、对象识别等计算机视觉任务。 OpenCV.js 是将 OpenCV 库编译为 JavaScript 的版本,使得开发者

    2024年02月16日
    浏览(44)
  • Linux(Centos7版本)安装docker 使用官方安装脚本,一键安装docker 发生报错解决方法

    Linux(Centos7版本)安装docker 使用官方安装脚本,一键安装docker 发生报错解决方法 使用官方安装脚本 也可以使用国内 daocloud 一键安装命令: 正在尝试其它镜像。 sh -c ‘yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo’ File “/usr/bin/yum-config-manager”, lin

    2024年02月01日
    浏览(61)
  • valgrind基本功能介绍、基础使用方法说明 valgrind基本功能介绍、基础使用方法说明

    valgrind基本功能介绍、基础使用方法说明_valgrind使用方法_HNU Latecomer的博客-CSDN博客 拷贝效果不好,请看原文。 1、Valgrind概述 Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。 Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(f

    2024年02月07日
    浏览(61)
  • 【linux】docker基本概念和基础指令操作(镜像、容器)

    docker 镜像 images xxxx(名称):xxxx(版本号) 每一个image可以生成若干个 容器 (container),所有用相同镜像生成的容器环境完全一样 每一个容器都是一个完全独立的云端服务器

    2024年02月01日
    浏览(55)
  • SwiftUI 中List动态列表容器视图的使用方法

    List  是 SwiftUI 中用于显示动态列表的容器视图。它接受一个或多个子视图,并根据提供的数据动态生成对应的列表项。 下面是  List  的常见用法和一些常用的参数: 基本用法: 在这个例子中, List  包含了三个  Text  视图作为列表项。 使用  ForEach  进行动态列表生成:  

    2024年02月07日
    浏览(56)
  • vim基本使用方法

    vim是linux上一个有多个编辑模式的编辑器。 这里主要介绍三种模式: 命令模式(Normal mode) 执行命令的模式,主要任务就是控制光标移动、复制和删除。 插入模式(Insert mode) 可以进行文字输入,编写代码模式。 末行/底行模式(last line mode) 文件保存退出,文本替换、列出

    2024年02月12日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包