找回密码
 请使用中文注册

手机号码,快捷登录

手机号码,快捷登录

查看: 92|回复: 0

docker常用命令大全

[复制链接]
阅读字号:

109

主题

0

回帖

3946

积分

版主

积分
3946
发表于 2023-5-12 17:24:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?请使用中文注册

×
本篇我们来介绍docker的常用命令。
docker镜像都是只读的。当容器启动后,一个新的可写的镜像被加载到镜像层的顶部,这一层通常被叫做容器层,容器层之下的都叫镜像层。

docker基本命令
查看已启动的服务

systemctl list-units --type=service
查看是否设置开机启动

systemctl list-unit-files | grep enable
设置开机启动

systemctl enable docker.service
关闭开机启动

systemctl disable docker.service
docker version                        #查看docker的版,包含客户端版本和服务端版本
docker -h                        #查看docker帮助文档
docker info                        #显示docker系统的信息
————————————————

启动docker命令
systemctl start docker                                        #启动docker
systemctl status docker                                        #查看docker状态
systemctl restart docker                                #重启docker状态
systemctl stop docker                                        #停止docker状态
————————————————

docker images 列出镜像
Usage: docker images [OPTIONS] [REPOSITORY[:TAG]]
常用参数:
–all :列出全部镜像,默认值
-q :列出镜像的id

docker images                                #列出本地的所有镜像
docker images hello-world                #列出指定的镜像
docker images -q hello-world                 #列出指定镜像的ID
docker images -aq                        #列出全部镜像的ID
————————————————

docker pull 拉取镜像
docker pull hello-world:1.0.0                #从默认仓库拉取一个指定版本的镜像
docker pull hello-world                        #拉取一个指定版本的镜像,不加tag标签号默认pull最新的镜像
————————————————

docker ps 查看当前宿主机上容器列表
docker ps [option]:查看当前宿主机上容器列表。默认只查看runing中的容器。
[option]主要有:
-a :相当于all,查看所有的容器列表。
-q : 只显示容器ID,如docker ps -aq docker images -q

docker ps
————————————————

docker run 创建并启动容器
docker run是创建并启动容器,其是docker create 和docker start的结合,docker run的使用语法如下:

语法:docker run [options] image [command] [arg…]
option说明:有些是单个-符号,有些是两个-符号
–name :为容器指定一个名字,如果不为容器指定名称,则docker自动分配一个名称
-d :后台运行容器,并返回容器ID,也即启动守护式容器
-i :以交互式运行容器,通常与-t同时使用
-t :为容器重新分配一个伪输入终端,通常与-i同时使用
-P :随机端口映射,系统随机分配一个空闲端口
-p :指定端口映射,如,-p 8089:80 其中前面8089是暴露在外部的端口,后面那个80是容器内部端口,我们知道docker是沙箱机制,想要外部程序能访问docker就必须暴露一个端口让外部访问。
–restart :重启策略,当容器退出时执行何种重启策略,Docker容器的重启策略如下:
no,默认策略,在容器退出时不重启容器
on-failure,在容器非正常退出时(退出状态非0),才会重启容器
on-failure:3,在容器非正常退出时重启容器,最多重启3次
always,在容器退出时总是重启容器
unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
–rm : 当容器退出时自动删除容器
演示范例:

docker run -it -d -p 8089:8080 ttnode /bin/bash
docker  run -d --name ttnode99 --restart=on-failure:3 ttnode:latest
————————————————

启动已经被停止的容器
当一个容器被停止之后,可使用docker start 命令重新启动容器,如下:

docker start ttnode99                #重启启动被停止的容器,既可以使用name来指定容器,也可以使用容器id来指定容器
————————————————

重启正在运行中的容器
docker restart ttnode99                #重启容器,既可以使用name来指定容器,也可以使用容器id来指定容器
————————————————

停止正在运行的容器
docker stop命令表示停止某个容器,容器被停止了并不是表示该容器就消失了(容器状态为Exited),停止容器只是表示该容器不再运行,可以使用docker start重新启动容器的。

docker stop ttnode99                        #既可以使用容器name也可以使用容器id
————————————————

ocker容器设置自动启动
启动时加–restart=always

docker run -tid --name isaler_v0.0.11 -p 8081:8080 --restart=always -v /alidata/iDocker/run/projectImages/isaler/v0.0.11/log:/usr/local/tomcat/logs isaler_v0.0.11


Flag        Description
no                不自动重启容器. (默认value)
on-failure         容器发生error而退出(容器退出状态不为0)重启容器
unless-stopped         在容器已经stop掉或Docker stoped/restarted的时候才重启容器
always         在容器已经stop掉或Docker stoped/restarted的时候才重启容器
如果已经过运行的项目
如果已经启动的项目,则使用update更新:

docker update --restart=always isaler_v0.0.11
您需要登录后才可以回帖 登录 | 请使用中文注册

本版积分规则

QQ|Archiver|手机版|家电维修论坛 ( 蜀ICP备19011473号-4 川公网安备51102502000164号 )

GMT+8, 2025-6-12 19:42 , Processed in 0.196425 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表