Fork me on GitHub

docker常用命令

查看docker版本:

docker version

################镜像#######################

查看已安装的镜像:

docker images

搜索docker镜像:

docker search 名称

 安装镜像:

docker pull 镜像名称

设置镜像标签

docker tag 5db5f8471261 ouruser/sinatra:devel

保存和加载镜像(save、load)

复制代码
# 保存镜像到一个tar包; -o, --output="" Write to an file  
$docker save image_name -o file_path  
# 加载一个tar包格式的镜像; -i, --input="" Read from a tar archive file  
$docker load -i file_path  
  
# 机器a  
$docker save image_name > /home/save.tar  
# 使用scp将save.tar拷到机器b上,然后:  
$docker load < /home/save.tar  或 docker load --input /home/save.tar
复制代码

 

################容器#######################

 创建容器(创建后并不启动,通过docker start启动)【-t选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上,-i则让容器的标准输入保持打开。】

docker create -it 镜像名称:标签

创建并启动(相当于运行了docker create后又运行了docker start命令)

docker run -t -i 镜像:标签 /bin/bash

查看最近一次运行命令的容器:

docker ps -l

查看容器运行状况:

docker ps

查看所有的容器:

docker ps -a

查看某个镜像的信息:

docker inspect 镜像ID

发布镜像:

docker pull 镜像名称

docker容器启动、重启、停止、kill和删除

复制代码
# 启动某个容器
docker start 容器名称/ID
# 重启某个容器
docker restart 容器名称/ID
# 停止某个容器
docker stop 容器名称/ID
# kill掉某个容器
docker kill 容器名称/ID
#删除单个容器; -f, --force=false; -l, --link=false Remove the specified link and not the underlying container; -v, --volumes=false Remove the volumes associated to the container 
  ·-f,--force=false强行终止并删除一个运行中的容器。
  ·-l,--link=false删除容器的连接,但保留容器。
  ·-v,--volumes=false删除容器挂载的数据卷。
docker rm 容器名称/ID
复制代码

退出容器

ctl + d
或
exit

从容器里面拷贝文件/目录到本地一个路径  

$docker cp Name:/container_path to_path  
$docker cp ID:/container_path to_path  

删除所有容器  

$docker rm `docker ps -a -q` 

从一个容器中取日志; -f, --follow=false Follow log output; -t, --timestamps=false Show timestamps  

$docker logs Name/ID 

 守护态运行(启动或创建时通过-d参数来达到这一效果)

sudo docker run -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"

 导入和导出容器『运行或停止的容器都可以通过此方式导出』(注意和镜像的导入导出之间的区别)

导出容器:
docker export 容器ID >test_for_run.tar
导入容器:
cat test_for_run.tar | sudo docker import - test/ubuntu:v1.0

  既可以使用docker load命令来导入镜像存储文件到本地的镜像库,又可以使用docker import命令来导入一个容器快照到本地镜像库。这两者的区别在于容器快照文件将丢弃所有的历史记录和元数据信息

posted @   秋楓  阅读(320)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示