首页 > 网络 > 云计算 >

常用docker命令

2016-12-24

常用docker命令:一、与镜像相关:1 搜索可用镜像, docker search imagesName,2 删除镜像, docker rmi -f imageID imagesName。

一、与镜像相关

1.搜索可用镜像

# docker search imagesName          

2.删除镜像

# docker rmi -f imageID/imagesName

3.拉取镜像

# docker pull imageID:tag

安装daocloud-daomonit后,可用 # dao pull containerName:tag 从daocloud快速拉取镜像。

4.保存镜像到本地

# docker save imageID/repository > /path/image.tar     

当需要把一台计算机上的镜像迁移到另一台计算机上时,需要保存镜像到本地,然后使用winscp将image.tar从机器a拷到机器b上,最后加载镜像。

5.加载本地镜像

# docker  load  -i /path/image.tar   或

  docker  load  <  /path/image.tar

6.推送镜像到镜像仓库

# docker push repository/imageID                

7.从镜像生成一个容器并在其中运行一个命令

#docker run repository/imageID                 

8.从镜像生成一个容器,并在后台运行一个命令

# docker run -d repository/imageID[cmd]              

9.从镜像生成一个容器,并在容器里运行交互式命令

# docker run -it repository/imageID CMD           

10.从Dockerfile构建镜像

# docker build -t imageID  /PATH/TO/Dockerfile

二、与容器相关


11.查看容器

# docker  ps                    //查看正在运行的容器

# docker  ps  -l                //列出最近一个运行过的容器

# docker  ps  -a                //查看所有的容器,包括已经停止的

# docker  ps  -q                //只展示正在运行的容器ID

12.删除容器

# docker rm -f containerID1/names containerID2/names                                                        //删除停止的容器1和容器2

# docker rm $(docker ps -a -q)             //删除所有容器 

13.停止/启动/重启/杀死 一个容器

# docker stop containerID/names
                                  //发送一个信号,等待容器的停止
# docker start [-i] containerID/names      
                                  //启动停止的容器
# docker restart containerID/names   
                                  //重启运行中的容器   
# docker kill containerID/names 
                                  //杀死一个容器             

14.查看容器日志

# docker logs [-f] [-t] [--tail 数字] containerID/names   

没加参数,表示查看全部日志;-f &ndash;follows=true 默认为false,表示一直更新,ctrl+c退出;-t &ndash;timestamps=true | false 加上时间戳 ; &ndash;tail 数字,指定查看最新的数目的日志)

15.将容器重新提交为一个镜像

# docker commit containerID DockerHubID/repository            

16.运行容器

a. 运行一次性容器

# docker run image [含绝对路径的command]  [arg]         

容器启动一次,运行一个命令,之后停止


b. 运行交互式容器

# docker run -it image [含绝对路径的command]                        
执行容器中的命令, 就像在使用虚拟机一样,最后exit退出(-i --interactive=true|false   默认是false;-t  --tty=true|false  默认是false)


c. 运行自定义容器

# docker run --name=自定义容器名 -it image [含绝对路径的command] 


d. 守护式容器
# docker run -it   imageName/ID   [含绝对路径的command]      

ctrl+p   ctrl+q   等效于加上-d选项,能够长期运行、没有交互式会话、适合运行应用程序和服务

--restart=always                 自动重新启动容器

--restart=on-failure:5           指定重启次数


f.运行守护式进程

# docker run -d --name=自定义容器名 image [含绝对路径的command]      
在后台运行守护式进程,命令执行完容器依然会退出 

17.附加到已经存在的容器

# docker attach 容器名或ID

有些镜像附着会失败,使用ctrl+c退出

18.查看容器详情,返回配置信息

# docker inspect  containerID/names                              

19.查看运行容器中的进程

# docker top  containerID/names                               

20.在运行的容器中启动新进程

# docker exec [-i]  [-t]  [-d]     containerID/names   [command]   [ARG]    

虽然docker的哲学是一个容器运行运行一个进程,但是要维护容器的话,就要新启动一个进程。
参数如下:
-i &ndash;interactive=true|false,默认是false,启动交互式容器。
-t &ndash;tty=true|false,默认是false。
&ndash;privileged,使用该参数container内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限。privileged启动的容器,可以看到很多host上的设备,并且可以执行mount。甚至允许你在docker容器中启动docker容器。

21.从一个容器连接到另一个容器

# docker  run  -i  -t  --name sonar -d -link mmysql:db tpires/sonar-server sonar

将sonar容器连接到mmysql容器,并将mmysql容器重命名为db。这样,sonar就可以使用db相关的环境变量了。

22.挂载数据卷

# docker run -it -v  /root/software/:/mnt/software/  -v  /opt/dir/:/mnt/soft/  25c5298b1a36   /bin/bash

-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>

23.运行容器中的脚本

# docker run -d -p 808:80 --name javaweb  locutus1/javaweb:0.1     /root/run.sh

以下为脚本的内容
# vim /root/run.sh
//注意:这里必须先加载环境变量,然后使用Tomcat的运行脚本来启动Tomcat服务
!/bin/bash
source  ~/.bashrc
sh /opt/tomcat/bin/catalina.sh   run 

# chmod u+x /root/run.sh              //为运行脚本添加执行权限

三、与守护进程相关


24.开启、停止、重启docker守护进程

# service start/stop/restart docker     

25.显示Docker运行环境信息

# dockerinfo        

26.查看docker守护进程状态

# ps -ef | grep docker         
相关文章
最新文章
热点推荐