Docker使用基础

本文详细介绍Docker的基础概念,包括镜像、容器的理解及二者关系,深入解析Docker基本操作、命令使用,涵盖容器的创建、启动、停止、删除等流程。同时,文章还介绍了Docker的网络配置、文件传输、日志管理等高级功能,帮助读者全面掌握Docker的使用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


docker docs

docker 学习方法

学习docker需要掌握以下内容

  • 什么是docker?
  • 什么是docker的镜像和容器?它们有什么关系?
  • docker的基本操作
  • docker的命令

学习docker的命令

两种途径:

  1. 查看docker docs里面有详细说明 Reference-CommondLines
  2. 使用docker --help 以及 docker COMMOND --help

认识docker

Docker是一个用于开发、交付和运行应用程序的开放平台.Docker平台提供了“容器”,容器可以提供一个类似沙箱的隔离环境,主机可以运行多个容器,容器间是独立的互不干扰.
docker engine

图 Docker Engine

镜像

Image类似于虚拟机的镜像,是一个包含有文件系统的面向Docker引擎的只读模版.任何应用程序运行都需要环境,Image就是用来提供这种环境的.

容器

  • 容器在Linux上本地运行,并与其他容器共享主机内核.
  • 类似于一个轻量级的沙盒,可以将其看作一个极简的Linux的系统环境.Docker engine利用containers运行、隔离各个应用.
  • 容器是镜像创建的应用实例,可以创建、启动、停止、删除容器.
  • 各个容器相互隔离
  • 镜像本身是只读的,容器从镜像启动时,Docker会在image的上层创建一个可写层,镜像不可变!!

也就是说,如果我使用docker使用linux,对其的所有操作并不会改变)
不过可以将容器保存为一个新的镜像文件

容器和镜像的关系

通过iamge来创建一个相应的containers

常用操作

Docker容器使用

docker system info  (docker info)
docker                                        查看Docker Client所有命令选项
docker command --help                         深入了解指定Docker命令
docker pull ubuntu                            获取ubuntu image ubuntu可以替换为其他image
docker run -it ubuntu /bin/bash               启动image, -it参数 i指定交互操作 t终端方式启动 ubuntu name of image
docker ps -a                                  查看所有容器(启动的容器)
docker start [id or name]                     启动已停止运行的容器
docker stop [container id]                    停止一个容器
docker reset [container id]                   重启一个容器
docker attach [container id]                  使用-d参数时,容器启动进入后台,可通过该命令进入容器,之后使用exit,则会导致容器停止,故不推荐使用
docker exec [container id]                  和attach一样,但是exit后不会导致容器停止,仍会继续运行
docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 可以详细学习run命令(-p 参数可以设置端口,映射到docker主机的指定端口  -p 5000:80)

导出和导入容器
docker export [container id] > xxxx.tar   导出某个容器导本地  docker export 命令

docker rm -f [container id]               删除容器
docker container prune                    清理掉所有处于终止状态的容器
docker ps                                 查看正在运行的容器 可以使用参数-a
docker文件传输
step1:
docker ps -a                                         得到容器的短ID
setp2: 
docker inspect -f ‘{{}.Id}’ [container id or name]   得到容器的完整ID(可以使用短id)
step3:
docker cp 本地文件路径 ID全称:容器路径

ps:
也可以从容器向外传输文件
docker cp ID全称:容器路径 本地文件路径 
网络端口
docker port [container id or name]        查看指定container端口映射情况 
日志信息
docker logs -f [container id]             查看日志信息 
容器进程
docker top [container id]                 docker top 查看容器内部运行的进程

Docker镜像使用

运行容器时,镜像不存在则会从docker hub中下载

docker iamges                            列出本地主机上的镜像
docker pull                              下载指定镜像
docker search [name]                     搜索镜像
docker rmi [name]                        删除指定image

如果现有镜像不满足使用,可以自己创建镜像:

docker commit -m=‘描述信息’ -a=‘author’ [container id] [new name]   更新images 会创建一个新的进行 new name 为镜像名称 格式为 仓库名称:TAG

也可以通过后docker build 命令创建一个新的镜像,但需要创建一个Dockerfile文件 来告诉Docker如何构建image
docker build 可以自行查阅使用方法

set up image tag
docker tag [image id] [repository name:tag]

配置网络

网络驱动程序

名称简介适用范围
bridge默认的网络驱动程序 Bridge networks are usually used when your applications run in standalone containers that need to communicate.当多个容器在同一docker主机上运行并需要通信时
hosthost直接使用主机网络网络堆栈不应与Docker主机隔离时,但您希望容器的其他方面隔离时
overlayoverlay network将多个docker守护程序连接在一起,并使群集服务能够相互通信当您需要在不同Docker主机上运行的容器进行通信时,或者当多个应用程序使用集群服务一起工作时
macvlanMacvlan网络允许您将MAC地址分配给容器,使其在网络上显示为物理设备。Docker守护程序通过其MAC地址将流量路由到容器当需要容器看起来像网络上的物理主机时

网桥网络

可以学到如何使用和管理bridge网络
网桥网络

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值