docker---基本操作

  摘要:今天就简单记录一下 docker 的基本命令,因为刚学习 docker ,平时用的时候可能记不清楚,还需要去查找,这次就记录一下常见的 docker 使用命令,以后会逐渐增加。

启动容器

  启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(stopped)的容器重新启动。因为 Docker 的容器实在是太轻量级了,很多时候用户都是随时删除和新建容器。

1,新建并启动:docker run

# 新建并启动容器
$ docker run ubuntu:18.04 /bin/echo 'Hello world'

# 启动一个 bash 终端,允许用户进行交互
# -i 让容器的标准输入保持打开
# -t 让 Docker 分配一个伪终端(pseudo-tty),并绑定到容器的标准输入上
$ docker run -i -t ubuntu:18.04 /bin/bash

2,启动已终止容器:docker container start

# 启动已终止容器
$ docker container start ubuntu:18.04

3,后台运行: 使用 -d 参数

复制代码
# 未使用 -d 参数
# 会把输出的结果(STDOUT)输出到宿主机上面
$ docker run ubuntu:18.04 /bin/sh -c "while true;do echo hello world; sleep 1s; done"

# -d 参数实现后台运行 
# 返回一个唯一的 id,可通过该 id 进行查看后台输出内容
$ docker run -d ubuntu:18.04 /bin/sh -c "while true;do echo hello world; sleep 1s; done"

# 查看后台输出内容
$ docker container logs [container ID or NAMES]
复制代码

终止容器

  终止容器可以用 docker container stop 来终止一个运行中的容器,此外,当 Docker 容器指定的应用终结时,容器也自动终止

# 终止一个运行中的容器
$ docker container stop ubuntu:18.04

# 查看所有终止的容器
$ docker container ls -a

# 重新启动容器
$ docker container restart ubuntu:18.04

进入容器

  在使用 -d 参数时,容器启动后会进入后台运行,某些时候我们需要进入容器操作,包括使用 docker attach 命令或 docker exec 命令,推荐使用 docker exec 命令。

1,attach 方式进入容器:

# 后台启动一个容器
$ docker run -dit ubuntu

# 进入这个容器
# attach 进入容器,一旦从 stdin 中 exit,会导致容器的停止
$ docker attach container_ID

2,exec 方式进入容器:

# 进入这个容器
# exec 后面可以跟多个参数,这里主要用 -i -t
# 更多参数可以使用 docker exec --help 进行查看
# 如果从这个 stdin 中 exit,不会导致容器的停止(推荐使用这个方式的原因)
$ docker exec
-it container_ID bash

导出和导入容器

1,导出容器:

# 导出容器快照到本地
$ docker export container_ID > ubuntu.tar

2,导入容器为镜像:

# 导出容器快照为镜像
$ cat ubuntu.tar | docker import - ubuntu:v1.0

删除容器

1,清理某一个容器

# 清理某一个容器
$ docker container rm container_ID

2,清理所有处于终止状态的容器

# 查看所有容器,包括处于终止状态的容器
$ docker container ls -a
# 清理所有处于终止状态的容器
$ docker container prune

 

posted on   爱笑的张飞  阅读(229)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示