docker常用命令大全

本篇我们来介绍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

© 版权声明
THE END
相关内容
评论: