【Docker】docker常用命令

   日期:2024-12-26    作者:jxci1 移动:http://ljhr2012.riyuangf.com/mobile/quote/30383.html

需要云服务器等云产品来学习Linux可以移步/-->腾讯云<--/官网,轻量型云服务器低至112元/年,新用户首次下单享超低折扣。

【Docker】docker常用命令


目录

一、镜像仓库架构图

二、docker仓库命令

1、登录仓库docker login

2、拉取镜像docker pull

3、推送镜像docker push

4、查找镜像docker search

5、登出仓库docker logout

三、docker镜像命令

1、列出本地镜像docker images

2、查看镜像详细信息docker image inspect

3、标记本地镜像,将其归入某一仓库docker tag

4、删除镜像docker rmi/删除容器docker rm

5、将指定的镜像打包成tar文件docker save

6、将docker save的tar包还原回来docker load

7、显示镜像历史docker history

8、删除不使用的镜像docker image prune

四、容器命令

1、创建一个新容器并运行一个命令docker run/创建一个新容器但不运行docker create(命令和docker run一样,docker run多一个-d选项)

-i、-t、-d选项:-it搭配使用,-d后台运行

-p选项:指定端口映射

--name选项:在容器启动时为它取一个名字

--cpuset-cpus="0-2" or --cpuset-cpus="0,1,2": 绑定容器到指定 CPU 运行

-m :设置容器使用内存最大值(示例为500m

--link=[]: 添加链接到另一个容器,让两个容器能相互访问

--rm :shell 退出的时候自动删除容器

2、列出容器docker ps

3、查看容器日志docker logs

4、将当前终端连接到正在运行的某个Docker容器的标准输入、输出和错误docker attach

5、在容器中执行命令docker exec

6、将停止的容器重新启动docker start/将运行的容器停止docker stop

7、重启容器docker restart

8、强制退出容器docker kill

9、查看容器中运行的进程信息docker top

10、显示容器资源的使用情况docker stats

11、查看容器详细信息docker container inspect

12、查看指定容器所对外映射端口docker port

13、在容器和宿主机之间拷贝文件docker cp

14、 检查容器中文件结构的更改docker diff

15、从容器中创建一个新的自定义镜像docker commit

16、暂停/取消暂停容器中的所有进程docker pause/docker unpause

17、导出容器内容为tar包docker export/将导出的tar包还原为镜像docker import

18、阻塞运行直到容器停止,并打印退出码docker wait

19、容器重命名docker rename

20、删除所有停止的容器docker container prune

21、更新容器配置docker update

五、nginx

六、busybox


镜像仓库:存放镜像的仓库,每个镜像仓库包含多个tag标签

tag标签:每个标签对应一个镜像

docker指南:Docker Docs

docker官方仓库:https://hub.docker.com/

命令

别名

功能

docker login

登录仓库

docker pull

docker image pull

拉取镜像

docker push

docker image push

推送镜像

docker search

查找镜像

docker logout

登出仓库

 
 

从镜像仓库拉取或更新指定镜像

 
 

 
 

一般去hub.docker.com网站里找,较少使用命令。

 
 
 
 
 
 
 
 
 
 

比如启动nginx容器,就可以通过该命令查看nginx的启动方式(Cmd字段)和端口(ExposedPorts字段

和docker push配合使用

 
 
 
 
 
 
 

两台服务器之间通过ssh传输文件scp myfile root@xxx.xxx.xxx.xxx:/filepath

docker history显示每个层(layer)的创建者、创建时间、大小等信息。

 
 
 

也可以加-a选项,将会清理所有不使用的镜像。

docker image prune命令可以删除以下类型的镜像

  1. 悬挂的镜像(dangling images: 这些是没有与任何容器关联的镜像,可能是之前构建的中间层镜像,或者由于某些原因没有被正确标记的镜像。
  2. 未被使用的本地镜像: 如果某个镜像没有被任何容器使用,它被认为是未被使用的。

这个命令的目的是为了清理系统中不再需要的镜像,以节省磁盘空间。在使用之前,需要确保没有重要的镜像会被删除,因为这个命令是不可逆的。

这个命令和docker rmi的区别在于docker rmi更倾向于手动删除某个镜像。

-d: 后台运行容器,并返回容器 ID

-i: 以交互模式运行容器,通常与 -t 同时使用

-P: 随机端口映射,容器内部端口随机映射到主机的端口

-p: 指定端口映射,格式为主机(宿主)端口:容器端口

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用

--name="nginx-lb": 为容器指定一个名称

-h "mars": 指定容器的 hostname

-e username="ritchie": 设置环境变量

--cpuset-cpus="0-2" or --cpuset-cpus="0,1,2": 绑定容器到指定 CPU 运行

-m :设置容器使用内存最大值

--network="bridge": 指定容器的网络连接类型

--link=[]: 添加链接到另一个容器

--volume , -v: 绑定一个卷

--rm :shell 退出的时候自动删除容器

-i、-t、-d选项:-it搭配使用,-d后台运行

 

-p选项:指定端口映射

 

如果没有用-p将端口映射出来:sudo docker run -d nginx:1.23.4-perl,外部浏览器是访问不到容器的nginx的端口的。

当然也可以用sudo docker run -d -P nginx:1.23.4-perl来随机映射端口sudo docker ps查看随机分配的端口。

--name选项:在容器启动时为它取一个名字

 

--cpuset-cpus="0-2" or --cpuset-cpus="0,1,2": 绑定容器到指定 CPU 运行

 

-m :设置容器使用内存最大值(示例为500m

 

--link=[]: 添加链接到另一个容器,让两个容器能相互访问

 

--rm :shell 退出的时候自动删除容器

带--rm,退出后并不会留下记录

 
 
 
 
 
 

关键参数

--sig-proxy:是否将所有信号代理,默认是true(退出将导致容器退出,若设置为false,则不会影响容器。


连接容器后将会接管该容器的标准输入、标准输出、标准错误,所以网页端一刷新,终端立马接收到相关log信息。若按下ctrl+c,该容器将会退出

如果在退出时不想退出容器,则需要加上--sig-proxy=false将信号代理

 
 

-d: 分离模式,在后台运行

-i: 以交互模式运行容器,通常与 -t 同时使用

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用

-e设置环境变量

-u/--user: 指定用户来执行命令

-w/--workdir:指定工作目录

 
 
 
 

它可以重启运行、停止甚至已退出的容器。

 
 

docker stop发送温柔的SIGTERM信号,docker kill发送暴力的SIGKILL信号。

 
 

例如有些容器如Nginx中就没有ps命令,要查看容器的进程信息就需要用docker top

 
 
 
 
 
 
 
 
 
 

C:修改过;A:新增;D:删除

 
 

-a: 提交的镜像作者

-c: 使用Dockerfile指令创建镜像,可以修改启动指令

-m: 提交时的说明文字

-p在commit时,将容器暂停。

 

每次commit,生成的镜像会保存当前容器的一些修改。

通过剥夺容器进程的时间片来暂停进程。

 
 

docker export命令仅导出容器的文件系统,不包括容器的元数据(例如标签、端口映射、卷等)或容器的运行状态。如果还原时需要这些信息,使用docker save/docker load来保存还原。

 
 
 
 
 
 
 
 

--cpus: cpu数量

--cpuset-cpus: 使用哪几个cpu

-m/--memory: 内存限制

--memory-swap交换内存

--cpu-period用来指定容器对cpu的使用要在多长时间做一次重新分配

--cpu-quota用来指定这个周期内,最多可以有多少时间跑这个容器。

 
 
 

命令安装

 

使用docker安装

 


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号