Docker容器常用命令

新建并启动容器:docker run
使用docker run 命令即可新建并启动一个容器。
Name,shorthand
Default
Description
–detach,-d
后台运行容器,并打印容器ID
–punish-all,-p
随机映射所有端口
–punish,-p
指定端口映射,该选项有以下四种格式:
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort
–network
指定网络模式,该选项有以下四种可选参数:
–network=bridge:默认选项,表示连接到默认的网桥
–network=host:容器使用宿主机的网络
–network=container:NAME_or_ ID:告诉Docker让新建的容器使用已有容器的网络配置
–network=none:不配置该容器的网络,用户可自定义网络配置
示例:
docker run -d -p 01:80 nginx 启动一个Nginx容器,访问
http://Docker宿主机IP:91/就可以访问。
列出容器:docker ps
命令格式:docker ps [OPTIONS]
Name,shorthand
Default
Description
–all,-a
false
列出所有容器,包括未运行的容器。默认只展示运行的容器。
–filter,-f
根据条件过滤显示内容
–format
通过Go语音模板文件展示镜像
–last,-n
-1
显示最近创建的n个容器(包含所有状态)
–latest,-l
false
显示最近创建的容器(包含所有状态)
–no-trunc
false
不截断输出
–quiert,-q
false
静默模式,只展示容器的ID
–size,-s
false
显示总文件大小
示例:docker ps
CONTAINER ID
IMAGE
COMMAND
CREATED
STATUS
PORTS
  • CONTAINER_ID:表示容器ID
  • IMAGE:表示镜像名称
  • COMMAND:表示启动容器时运行的命令
  • CREATED:表示容器的创建时间
  • STATUS:表示容器运行的状态。UP表示运行中,Exited表示已停止
  • PORTS:表示容器对外的端口号
  • NAME:表示容器名称。该名称默认由Docker自动生成,也可使用docker run命令的-name选项自行指定。
停止容器:docker stop
使用docker stop命令即可停止容器。 命令格式:docker stop [OPTIONS] CANTAINER [CANTAINER…]
Name,shorthand
Default
Description
–time,-t
10
强制停止容器前等待的时间,单位是s
示例:docker stop [容器ID]
强制停止容器:docker kill
可使用docker kill命令发送SIGKILL信号来强制停止容器。 命令格式:docker kill [OPTIONS] CONTAINER [CONTAINER…]
Name,shorthand
Default
Description
–signal,-s
KILL
向容器发送一个信号
示例:
docker kill [容器ID]
启动已停止的容器:docker start
使用docker run命令即可新建并启动一个容器,对于已停止的容器,可使用docker start命令来启动。 命令格式:docker start [OPTIONS] CONTAINER [CONTAINER…]
Name,shorthand
Default
Description
–attach,-a
false
连接STDOUT/STDERR并转发信号
–detach-keys
覆盖断开容器的关键顺序
–interactive,-i
false
连接容器的STDIN
示例:docker start [容器ID]
重启容器:docker restart
可使用docker restart命令来重启容器,该命令实际上是先执行了docker stop,然后执行了docker start。 命令格式:docker restart [OPTIONS] CONTAINER [CONIAINER…]
Name,shorthand
Default
Description
–time,-t
10
关闭容器前等待的时间,单位是s
进入容器:docker attach
某些场景下,可能需要进入运行中的容器。 使用docker attach进入容器;例如
docker attach [容器ID]
在很多场景下,使用docker attach命令并不方便。当多个窗口同时attach到同一个容器时,所有窗口都会同步显示。同理,如果某个窗口发生阻塞,其他窗口也无法执行操作。
使用neenter进入容器;
使用docker exec命令进入容器; 示例:
docker exec -it 容器id /bin/bash
删除容器:docker rm
docker rm 即可删除指定容器; 命令格式:docker rm [OPTIONS] CONTAINER [CONTAINER…]
Name,shorthand
Default
Description
–force,-f
false
通过SIGKILL信号强制删除正在运行中的容器
–link,-l
false
删除容器间的网络连接
–volumes,-v
false
删除与容器关联的卷
示例1:删除指定容器。
docker rm [容器ID] 该命令只能删除已停止的容器,如需删除正在运行的容器,可使用-f参数。
示例2:删除所有容器
docker rm -f ${docker ps -a -q}
导出容器:docker export
使用docker export命令可将容器导出成一个压缩包文件。 命令格式:docker export [OPTIONS] CONTAINER
Name,shorthand
Default
Description
–output,-o
将内容写到文件而非标准输出
示例:
将red容器到处城latest.tar文件 docker export red > latest.tar docker export –output="latest.tar" red
导入容器:docker import
使用docker import命令即可从归档文件导入内容并创建镜像。 命令格式:
Name,shorthand
Default
Description
–change,-c
将Dockerfile指令应用到创建的镜像
–message,-m
为导入的镜像设置提交信息
示例:
从nginx2.tar文件导入,并创建nginx镜像 docker import nginx2.tar nginx
查看进程并干掉进程
jps是jdk提供的一个查看当前java进程的小工具, 可以看做是JavaVirtual Machine Process Status Tool的缩写。非常简单实用。
命令格式:jps [options ] [ hostid ]
[options]选项 :
-q:仅输出VM标识符,不包括classname,jar name,arguments in main method -m:输出main method的参数 -l:输出完全的包名,应用主类名,jar的完全路径名 -v:输出jvm参数 -V:输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件 -Joption:传递参数到vm,例如:-J-Xms512m
jps
jps –l:输出主类或者jar的完全路径名
jps –v :输出jvm参数
jps –q :仅仅显示java进程号
jps -mlv10.134.68.173
干掉进程
kill – 9 表示强制杀死该进程;而 kill 则有局限性,例如后台进程,守护进程等;
kill -9 id:一般不加参数kill是使用15来杀,这相当于正常停止进程,停止进程的时候会释放进程所占用的资源;他们的区别就好比电脑关机中的软关机(通过“开始”菜单选择“关机”)与硬关机(直接切断电源),虽然都能关机,但是程序所作的处理是不一样的。
执行kill命令,系统会发送一个SIGTERM信号给对应的程序。SIGTERM多半是会被阻塞的。kill -9命令,系统给对应程序发送的信号是SIGKILL,即exit。exit信号不会被系统阻塞,所以kill -9能顺利杀掉进程。
kill命令格式: kill -Signal pid pid是进程号,可以用 ps 命令查出 signal是发送给进程的信号,TERM(或数字9)表示“无条件终止”; 因此 kill – 9 表示强制杀死该进程; 而 kill 则有局限性,例如后台进程,守护进程等;

Author:

发表评论

电子邮件地址不会被公开。 必填项已用*标注