Docker 容器基本操作

本文介绍了Docker容器的基本操作,包括安装步骤、管理命令如容器信息查看、创建、运行及导入导出,以及如何登录容器执行命令。详细讲解了各种docker命令的用法,如docker run、docker ps、docker inspect等。

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

1、安装
2、管理命令
2.1、容器信息查看
  • docker ps -a: 查看所有的容器

  • docker top 容器ID: 查看容器内的进程信息

  • docker inspect 容器ID:查看容器的详细信息

  • docker stats: 查看所有容器的状态,cpu,mem,net,io,pid等

  • docker stats 容器ID

2.2、容器创建

创建并运行容器:docker run [OPTIONS] 镜像名字 [COMMAND] [ARG…]

创建但不运行容器:docker run [OPTIONS] 镜像名字 [COMMAND] [ARG…]

  • OPTIONS
    • -a stdin/stderr/stdout : 指定标准输入输出的内容
    • -d 后台运行容器,并返回容器ID
    • -p 端口映射,格式为:主机(宿主)端口:容器端口
    • -P 端口映射,将容器的80 端口映射到主机的随机端口
    • -i 以交互模式运行容器,通常与 -t 同时使用
    • -t 为容器重新分配一个伪输入终端,通常与 -i 同时使用
    • --name="容器名字" 为容器指定一个名称
    • -v 主机目录:容器目录 目录映射
    • --dns 8.8.8.8 指定容器使用的DNS服务器,默认和宿主一致
    • --dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致
    • -h "hostname" 指定容器的hostname
    • --cpuset="0-2"--cpuset="0,1,2" 绑定容器到指定CPU运行
    • -m 设置容器使用内存最大值
    • --net="bridge" 指定容器的网络连接类型,支持 bridge / host / none / container : 四种类型
    • --link=[] 添加链接到另一个容器,这样两个容器就网络互通
    • --expose=[] 开放一个端口或一组端口
    • --env-file=[] 从指定文件读入环境变
    • -e username="ritchie" 设置环境变量
2.3、运行容器
  • docker stop 容器id: 停止容器
  • docker start 容器id:启动容器
  • docker restart 容器id: 容器容器
  • docker attach 容器id: 进入一个已运行的容器
  • docker kill 容器id:强制停止容器
  • docker rm 容器id:删除没有运行的容器
  • docker rm -f 容器id:强制删除运行中容器
2.4、导入导出容器

通过导出功能可以将容器导入到其它容器服务运行

  • 导出:

docker export -o 要写入的文件.tar 容器id

# 查看容器
$ docker ps -a
CONTAINER ID        IMAGE
8fdd2103e0d0        myubuntu/mu:v1

# 导入容器到ubuntu-image.tar
$ docker export -o ubuntu-image.tar 8fdd2103e0d0
$ ls -l ubuntu-image.tar
-rw-------  1 dkos  staff  72257024  7 24 15:36 ubuntu-image.tar
  • 导入:

docker import 导出的文件 [仓库名/[:TAG]]

# 将tar包导入到容器服务
$ docker import ubuntu-image.tar myrepository/dkos:v1
sha256:a8bbacf982e53a8de6855c5546f6a3df9c03fe4f14356f06a6944bfe221b254f

# 利用导入的tar包尽力容器
$ docker run -it -h dk myrepository/dkos:v1 /bin/bash
3、登录容器

docker exec [选项] 容器id 命令

登录容器安装curl,ifconfig命令

# 查看容器
$ docker ps
CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS              PORTS                     NAMES
b428fcfd7ef7        routerdocker_server_one     "python app.py serve…"   2 hours ago         Up 2 hours          0.0.0.0:32776->8080/tcp   routerdocker_server_one_1

# 登录容器 b428fcfd7ef7
$ docker exec -it b428fcfd7ef7 bash
# 容器中先更行源,再安装curl,net-tools,ifconfig
root@b428fcfd7ef7:/server_one# apt-get update
root@b428fcfd7ef7:/server_one# apt-get install curl
root@b428fcfd7ef7:/server_one# apt-get install  net-tools
root@b428fcfd7ef7:/server_one# ifconfig 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值