更新软件包列表
apt-get update yum update
apt upgrade yumupgrade
查看硬盘UUID
blkid
修改密码:
passwd
查看用户UID、GID
id username
查询域名真是IP:
nslookup domain_name
docker常用命令:
环境变量设置容器内国内时区 TZ:Asia/Shanghai
search常用写法:
搜索centos镜像
docker search centos
搜索centos镜像,只展示5个
docker search –limit 5 centos
搜索热度大于100并且不是自动构建的centos镜像
docker search -f stars=100 -f is-automated=true centos
搜索非官方发布的centos镜像,搜索结果只展示名称和热度,列之间用TAB键隔开
docker search -f is-official=false –format “table{{.Name}}\t{{.StarCount}}” centos
pull:从远程仓库拉取或更新镜像
pull命令可以从远程仓库拉取镜像,如果本地仓库已经存在该镜像,则会更新
pull语法
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
OPTIONS:可选参数
NAME:镜像名称
TAG:镜像版本号,可省略,默认为latest
DIGEST:镜像的摘要,每个镜像都有对应的名称、id、摘要信息,每个摘要信息能唯一代表一个镜像
pull常用写法
从远程仓库拉取centos镜像,不指定版本时默认为latest版本
docker pull centos
使用安静模式从远程仓库拉取版本号为5.11的centos镜像
docker pull -q centos:5.11
使用安静模式从远程仓库拉取所有版本号的centos镜像
docker pull -a -q centos
images:显示所有镜像
images命令可以显示本地存在的所有镜像
docker images
images常用写法
显示本地所有镜像
docker images
显示本地所有镜像,只显示id列并且不截断
docker images -q –no-trunc
显示centos镜像信息
docker images centos
显示列中包含cent关键字的所有镜像
docker images | grep cent
显示本地所有镜像,并显示摘要列
docker images –digests
显示在cengos:latest镜像之后创建的latest版本的所有镜像
docker images -f since=centos:latest -f reference=*:latest
显示所有镜像信息,只显示镜像id、摘要、创建时间3列,列之间用TAB键隔开
docker images –format “table {{.ID}}\t{{.Digest}}\t{{.CreatedAt}}”
显示在centos:5.11镜像之前创建的镜像,只显示镜像仓库路径、版本号、创建时间3列,列之间用TAB键隔开
docker images -f before=centos:5.11 –format “table {{.Repository}}\t{{.Tag}}\t{{.CreatedAt}}”
rmi:删除本地镜像
rmi命令可以删除一个或多个本地镜像,通常情况应该用rm表示删除命令,但是在doker命令中rm表示删除容器,所以用rmi表示删除镜像,其中的i是image的首字母
rmi语法
docker rmi [OPTIONS] IMAGE [IMAGE…]
OPTIONS:可选参数
IMAGE:镜像id或仓库路径名称
OPTIONS的常用值
-f: 强制删除,如果镜像有对应的容器正在运行,则不允许直接删除镜像,需要强制删除
–no-prune:不删除该镜像的过程镜像,默认是删除的
rmi常用写法
删除centos镜像
docker rmi tomcat
删除centos:5.11镜像
docker rmi centos:5.11
删除id为621ceef7494a的镜像
docker rmi 621ceef7494a
同时删除tomcat、centos和redis镜像
docker rmi tomcat centos redis
强制删除tomcat镜像,就算此时有tomcat容器正在运行,镜像也会被删除
docker rmi -f tomcat
run常用写法
创建一个centos容器,并运行
docker run centos
创建一个centos容器,并以交互模式运行
docker run -it centos
创建一个centos容器,并后台模式运行
docker run -d centos
创建一个centos容器,重命名为my-centos,并以交互模式运行,并在容器中运行bash命令
docker run -it –name my-centos centos /bin/bash
创建一个spring-boot容器并以交互模式运行,容器重命名为my-boot,并把主机的80端口映射到容器的8080端口,此时访问主机ip+80端口即可访问容器中的sping-boot项目
docker run -it –name my-boot -p 80:8080 spring-boot
创建一个spring-boot容器并以交互模式运行,容器重命名为my-boot,并把主机/logs/my-boot/的目录绑定到容器的/logs目录,此时my-boot项目的日志可以在主机的/logs/my-boot目录中查看
docker run -it –name my-boot -v /logs/my-boot/:/logs/ spring-boot
创建一个spring-boot容器并以交互模式运行,容器重命名为my-boot;把主机的80端口映射到容器的8080端口;把主机/logs/my-boot/的路径绑定到容器的/logs目录;给容器分配最大500M的内存;指定spring-boot的配置文件为test
docker run -it –name my-boot -p 80:8080 -v /logs/my-boot/:/logs/ -m 500M spring-boot –spring.profiles.active=test
start:启动容器
start命令可以启动一个或多个已经停止的容器
start语法
docker start [OPTIONS] CONTAINER [CONTAINER…]
OPTIONS:可选参数
CONTAINER:容器
OPTIONS的常用值
-a: 将容器的标准输出或标准错误附加到终端
-i: 为容器附加一个标准输入终端
start常用写法
启动已经停止的tomcat容器
docker start tomcat
启动已经停止的tomcat和centos容器
docker start tomcat centos
启动已经停止的my-spring-boot容器,并输出日志
docker start -a my-spring-boot
启动已经停止centos容器,并附加一个输入终端
docker start -i centos
restart:重启容器
restart可以对一个或多个容器进行重启。如果容器是未启动的则会启动,如果是正在运行中的,则会重启
restart语法
docker restart [OPTIONS] CONTAINER [CONTAINER…]
OPTIONS:可选参数
CONTAINER:容器
OPTIONS的常用值
-t int: 在重启之前等待几秒,默认10秒
restart常用写法
重启centos容器
docker restart centos
20秒之后重启centos和tomcat容器
docker restart -t 20 centos tomcat
stop:停止容器
stop命令可以停止一个或多个正在运行的容器
kill命令也可以用来停止容器
不同的是stop命令允许容器在停止之前有一定的时间来进行额外操作,如释放链接、关闭请求等
kill命令则会直接强制杀死容器
stop语法
docker stop [OPTIONS] CONTAINER [CONTAINER…]
OPTIONS:可选参数
CONTAINER:容器
OPTIONS的常用值
-t int: 等待n秒后如果还没停止,直接杀死,默认10秒
stop常用写法
停止tomcat容器
docker stop tomcat
停止tomcat和centos容器
docker stop tomcat centos
停止tomcat容器,如果5秒内还未停止则直接杀死
docker stop -t 5 tomcat
restart:重启容器
restart命令可以重启一个或多个容器,不管容器是运行或停止
restart语法
docker restart [OPTIONS] CONTAINER [CONTAINER…]
OPTIONS:可选参数
CONTAINER:容器
OPTIONS的常用值
-t int: 如果重启的容器正在运行,等待n秒还没停止,直接杀死然后重启,默认10秒
restart常用写法
重启tomcat容器
docker restart tomcat
重启tomcat和centos容器
docker restart tomcat centos
重启正在运行的tomcat容器,如果5秒内还未停止则直接杀死然后重启
docker restart -t 5 tomcat
kill:杀死容器
kill命令可以杀死一个或多个正在运行的容器
kill语法
docker kill [OPTIONS] CONTAINER [CONTAINER…]
OPTIONS:可选参数
CONTAINER:容器
OPTIONS的常用值
-s string: 给容器发送一个信号,信号编号和linux原生命令kill的信号编号一致,默认值9,下文列出一些常用值
-s参数信号编号常用值
1:杀死并重新加载,也可用HUP表示
9:强制杀死,也可用KILL表示,默认值
15:正常停止,也可用TERM表示
kill常用写法
杀死tomcat容器
docker kill tomcat
强制杀死tomcat容器
docker kill -s 9 tomcat
强制杀死tomcat容器
docker kill -s KILL tomcat
杀死tomcat和centos容器
docker kill tomcat centos
rm:删除容器
rm命令可以删除一个或多个容器
如果容器正在运行,则需要通过-f参数强制删除
rm语法
docker rm [OPTIONS] CONTAINER [CONTAINER…]
OPTIONS:可选参数
CONTAINER:容器
OPTIONS的常用值
-f:强制删除,即使容器正在运行也可以删除
-l:删除容器之间的网络关系,而不是容器本身
-v: 删除容器和它挂载的卷
rm常用写法
删除centos容器
docker rm centos
强制删除centos容器,即使容器正在运行也会被删除
docker rm -f centos
删除centos容器,并删除它挂载的卷
docker rm -f centos
删除所有已经停止的容器
docker rm $(docker ps -a -q)
移除容器my-nginx对容器my-db的连接,连接名db
docker rm -l db
pause:暂停容器
pause命令可以暂停一个或多个正在运行的容器
pause语法
docker pause CONTAINER [CONTAINER…]
CONTAINER:容器
pause常用写法
暂停正在运行的centos容器
docker pause centos
暂停正在运行的centos和tomcat容器
docker pause centos tomcat
unpause:取消暂停容器
unpause命令可以对一个或多个暂停的容器取消暂停
pause语法
docker unpause CONTAINER [CONTAINER…]
CONTAINER:容器
unpause常用写法
取消暂停的centos容器
docker unpause centos
取消暂停centos和tomcat容器
docker unpause centos tomcat
create:创建一个容器
create命令可以创建一个容器,但不运行它,在需要的时候可以使用start命令启动
和run命令的用法几乎一致,都会创建一个容器,如果容器依赖的镜像不存在都会从远程仓库拉取
run命令创建容器后会运行容器
create命令只是创建容器,不运行
create语法
docker create [OPTIONS] IMAGE [COMMAND] [ARG…]
OPTIONS:可选参数
IMAGE:镜像
COMMAND:需要运行的命令
ARG:命令的参数
OPTIONS的常用值
create命令和run命令的可选参数一样
由于可选参数比较多,这里只列出使用频率最高的一些可选值。使用docker create –help可以查看create命令的所有可用参数
-i: 以交互模式运行,通常与-t一起使用
-t: 为容器分配一个伪终端,通常与-i一起使用
-d: 后台模式运行容器,并返回容器id
-p list: 指定端口映射,格式为宿主机端口:容器端口
-P: 随机分配端口映射
–name string: 给容器指定一个名称
-m bytes: 限制容器可以使用的内存大小
-v list: 把宿主机的磁盘路径挂载到容器的某个路径
–volumes-from list: 绑定别的容器某个路径到此容器的某个路径
-w: 指定容器的工作目录,默认是根目录
–rm: 当容器停止运行时自动删除
–hostname string: 指定容器的主机名
create常用写法
创建一个centos容器
docker create centos
创建一个centos容器,start启动时以交互模式运行
docker create -it centos
创建一个centos容器,start启动时后台模式运行
docker create -d centos
创建一个centos容器,重命名为my-centos,start时以交互模式运行,并在容器中运行bash命令
docker create -it –name my-centos centos /bin/bash
创建一个spring-boot容器,重命名为my-boot,并把主机的80端口映射到容器的8080端口,start时以交互模式运行,此时访问主机ip+80端口即可访问容器中的sping-boot项目
docker create -it –name my-boot -p 80:8080 spring-boot
创建一个spring-boot容器,容器重命名为my-boot,并把主机/logs/my-boot/的目录绑定到容器的/logs目录,start时以交互模式运行,此时my-boot项目的日志可以在主机的/logs/my-boot目录中查看
docker create -it –name my-boot -v /logs/my-boot/:/logs/ spring-boot
创建一个spring-boot容器,容器重命名为my-boot;把主机的80端口映射到容器的8080端口;把主机/logs/my-boot/的路径绑定到容器的/logs目录;给容器分配最大500M的内存;指定spring-boot的配置文件为test;start时以交互模式运行
docker create -it –name my-boot -p 80:8080 -v /logs/my-boot/:/logs/ -m 500M spring-boot –spring.profiles.active=test
exec:在容器中执行命令
exce命令可以在一个运行中的容器中执行一个命令
exec语法
docker exec [OPTIONS] CONTAINER COMMAND [ARG…]
OPTIONS:可选参数
CONTAINER:容器
COMMAND:要执行的命令
ARG:命令的参数
OPTIONS的常用值
-d: 命令在后台运行
-i:保持标准输入,通常和-t一起使用
-t: 分配一个伪终端,通常和-i一起使用
-w string: 指定容器的路径
exec常用写法
在centos容器中运行pwd命令
docker exec centos pwd
为centos容器分配一个输入终端
docker exec -it [容器ID或者容器名称] /bin/bash
在centos镜像中的bin目录执行ls命令
docker exec -w /bin centos ls
ps:查看容器列表
ps命令可以列出所有容器的列表,查看容器的基本信息。不加任何参数的情况下,默认只展示正在运行的容器
ps语法
docker ps [OPTIONS]
OPTIONS:可选参数
OPTIONS的常用值
-a: 显示所有容器,默认只显示正在运行的
-f filter: 根据条件过滤容器,过滤条件详见下文
-n int:显示最后创建的n个容器,包含所有状态
-l: 显示最新创建的容器,包含所有状态
-q: 只显示容器id
-s: 显示容器大小,默认不显示该列
–no-trunc:显示内容不截断,默认情况下显示的容器是截断后的信息
-f参数表示根据条件过滤搜索出来的镜像,语法如下
docker ps -f KEY=VALUE
KEY的可选值如下
id: 根据容器id过滤
name: 查看容器名称中包含给定字段的容器
exited: 根据容器退出的错误码进行过滤
status: 根据容器的状态进行过滤,状态可选值有:created、paused、exited、dead、running、restarting、removing
before: 只显示在某个容器之前创建的容器
since: 只显示在某个容器之后创建的容器
volume: 过滤绑定了某个目录的容器,只针对运行中的容器
publish: 根据宿主机端口过滤,只针对运行中的容器
expose: 根据容器端口过滤,只针对运行中的容器
ps常用写法
查看运行中的容器
docker ps
查看所有容器
docker ps -a
查看所有容器,并显示容器大小
docker ps -a -s
查看所有容器,显示内容不截断
docker ps -a –no-trunc
查看容器名称中包含cent的容器
docker ps -f name=cent
查看状态是created的容器
docker ps -f status=created
查看在centos之前创建的容器
docker ps -f before=centos
查看绑定了宿主机80端口并且正在运行的容器
docker ps -f publish=80
赞赏微信赞赏支付宝赞赏