2417|1

17

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

开发者必备丨Docker客户端常用命令分享 [复制链接]

开发者必备Docker客户端常用命令分享

学习Docker,首先需要了解Docker基本概念,我们在以前的文章中介绍过docker的基本原理和部署操作系今天下嵌入式开docker端常用的命令,开始进入动手阶段(也就是敲Docker命令)。

Docker命令较多,这里笔者总结下常用的Docker命令,方便小伙伴们查阅。

 

客户端常用命令列表

以下为Docker 客户端常用命令列表,可以通过docker COMMAND --help来查看这些命令的具体用法。

attach :依附到一个正在运行的容器中;

build :从一个Dockerfile创建一个镜像;

commit :从一个容器的修改中创建一个新的镜像;

cp :在容器和本地宿主系统之间复制文件中;

create :创建一个新容器,但并不运行它;

diff :检查一个容器内文件系统的修改,包括修改和增加;

events :从服务端获取实时的事件;

exec :在运行的容器内执行命令;

export :导出容器内容为一个tar包;

history :显示一个镜像的历史信息;

images :列出存在的镜像;

import :导入一个文件(典型为tar包)路径或目录来创建一个本地镜

像;

info :显示一些相关的系统信息;

inspect :显示一个容器的具体配置信息;

kill :关闭一个运行中的容器 (包括进程和所有相关资源)

load :从一个tar包中加载一个镜像;

login :注册或登录到一个Docker的仓库服务器;

logout :从Docker的仓库服务器登出;

logs :获取容器的log信息;

network :管理 Docker 的网络,包括查看、创建、删除、挂载、卸载等;

node :管理 swarm 集群中的节点,包括查看、更新、删除、提升/取消管理

节点等;

pause :暂停一个容器中的所有进程;

port :查找一个 nat 到一个私有网口的公共口;

ps :列出主机上的容器;

pull :从一个Docker的仓库服务器下拉一个镜像或仓库;

push :将一个镜像或者仓库推送到一个 Docker 的注册服务器;

rename :重命名一个容器;

restart :重启一个运行中的容器;

rm :删除给定的若干个容器;

rmi :删除给定的若干个镜像;

run :创建一个新容器,并在其中运行给定命令;

save :保存一个镜像为 tar 包文件;

search :在 Docker index 中搜索一个镜像;

service :管理 Docker 所启动的应用服务,包括创建、更新、删除等;

start :启动一个容器;

stats :输出(一个或多个)容器的资源使用统计信息;

stop :终止一个运行中的容器;

swarm :管理 Docker swarm 集群,包括创建、加入、退出、更新等;

tag :为一个镜像打标签;

top :查看一个容器中的正在运行的进程信息;

unpause :将一个容器内所有的进程从暂停状态中恢复;

update :更新指定的若干容器的配置信息;

version :输出 Docker 的版本信息;

volume :管理 Docker volume,包括查看、创建、删除等;

wait :阻塞直到一个容器终止,然后输出它的退出符。

 

两张图总结Docker的命令

Container事件状态图

Docker命令分布图

 

常用操作及命令

  1. 常用镜像操作

 

列出镜像

docker images

 

删除镜像

docker rmi [-f] <IMAGE ID>

docker image rm [-f] <IMAGE ID>

其中-f代表强制删除,用在多个容器对应一个镜像时

 

给一个镜像打标签

docker tag

 

  1. 常用容器操作

 

列出主机上的容器

docker container ls [-a]

 

以某镜像为基础启动并运行容器

docker run -itd --privileged=true  --cap-add=SYS_ADMIN --mount type=bind,src=/data/home,target=/root/workspace -p 30000:22 <IMAGE ID> bin/bash

参数说明:

-i表示交互式,让容器的标准输入保持打开

-t表示让docker分配一个伪终端并绑定到容器的标准输入上

-d表示容器启动会进入后台运行

--privileged=true表示允许容器中运行一些特权命令

--cap-add=SYS_ADMIN表示提供给容器更大的管理权限

-v表示绑定挂载目录

-p表示指定主机端口和容器内部端口映射关系

bin/bash表示因为docker后台必须运行一个进程,否则容器就会退出。

 

重命名容器

docker rename old_name new_name

 

进入后台的容器(用此方法进入后,执行exit时不会导致容器的停止,还有个命令attach也可以进入后台容器,但是exit会导致容器停止)

docker exec -it container_name bin/bash

 

终止容器

docker container stop

 

重新启动终止状态的容器

docker container start

 

终止一个运行态的容器然后重启

docker container restart

 

删除终止态容器

docker container rm container_name

 

删除运行态容器

docker container rm -f container_name

 

清理所有终止态容器

docker container prune

 

查看容器的信息

docker inspect container_name

 

查看容器对应的主机端口:

#docker port container_name

#docker port container_name <PORT_NUMBER>

 

 

基于一个新的基础镜像新建容器

 

1.查找官方仓库中的镜像

docker search ubuntu

可以看到返回了很多包含关键字的镜像,其中包括镜像名字、描述、收藏数(表示

该镜像的受关注程度)、是否官方创建、是否自动创建

 

2.下载镜像到本地

docker pull ubuntu:18.04

 

3.查看下载的镜像

docker images

 

4.加载镜像到容器并运行

docker run -itd --privileged=true  --cap-add=SYS_ADMIN --mount type=bind,src=/data/home,target=/root/workspace -p 30000:22 <IMAGE ID> bin/bash

 

5.推送镜像到远程仓库

docker push

 

容器的保存及打开

容器导出文件再导入文件为本地镜像,会丢失历史和元数据,无法回滚到以前的层,导出的包稍小

 

1.先获取容器id

docker container ls

 

2.导出容器内容为一个tar

docker export <CONTAINER ID> > /home/export.tar

 

3.导入一个文件(典型为tar包)路径或目录来创建一个本地镜像,可以重新指定镜像名字

cat xxx.tar | docker import - new_name:new_tag

或:

从指定URL或某个目录导入容器快照:

docker import http://example.com/exampleimage.tgz example/imagerepo

 

4.加载镜像到容器,并启动容器

docker run

 

 

镜像的保存及打开

 

镜像导出文件再导入文件为本地镜像,不丢失历史和层,可以层回滚

 

1.查看镜像id

docker images

 

2.导出镜像内容为一个tar

docker save <IMAGE NAME> > /home/save.tar

 

3.从一个tar包中加载一个镜像,不可以重新指定镜像名字

docker load < /home/save.tar

 

4.查看导入的镜像id

docker images

 

以上命令基本覆盖了嵌入是开中常用的docker命令,想了解更多可以看:

Docker 官方主https://www.docker.com 

Docker 官方博客:https://blog.docker.com/ 

Docker 官方文档:https://docs.docker.com/

 



此内容由EEWORLD论坛网友flseo原创,如需转载或用于商业用途需征得作者同意并注明出处

此帖出自ARM技术论坛

最新回复

了解过一些还没深入去玩,Vmware exi 用的多,找时间也开始玩一玩   详情 回复 发表于 2020-3-9 21:32
点赞 关注
 

回复
举报

648

帖子

2

TA的资源

纯净的硅(高级)

沙发
 

了解过一些还没深入去玩,Vmware exi 用的多,找时间也开始玩一玩

此帖出自ARM技术论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表