Docker操作命令

作者: Dsir 分类: Server 发布时间: 2018年07月25日 15时17分

1、查看正在运行容器列表

docker ps

2、查看Docker版本

docker --version

3、本地镜像列表

docker images

4、docker镜像操作命令帮助

docker image

5、docker hub 中搜索 image

docker search  xxx
docker search xxx -limit 100 (展示前100条)

6、停止容器

docker container stop<hash>

7、杀死容器

docker container kill<hash>

8、获取docker 镜像

docker pull nginx (nginx为镜像名称)

9、创建容器

# 参数i:打开STDIN,用于控制台交互
# 参数t:分配tty设备,可以支持终端登录
# 参数d:指定容器是否后台运行
# 参数name:指定容器启动的名称
# 参数-p:指定端口 <宿主端口>:<容器端口>
# 最后一个nginx意思是指的是镜像名称
docker run --name webserver -d -p 81:80 nginx

10、查看所有容器,包括已停止的容器

docker ps -a

注:可以通过容器名称或者容器ID进行操作

11、启动容器

docker start nginx

12、关闭容器

docker stop nginx

13、重启容器

docker restart nginx

14、删除容器

docker rm nginx (删除已停止的容器,如果删除正在运行的容器会报错)

15、删除正在运行的容器

docker rm -f nginx

16、删除镜像

docker rmi nginx

17、进入容器

docker exec -it nginx  /bin/bash  (-i:stdin标准输入,t:tty伪终端)

  • 如果只使用-t参数,则可以看到一个console窗口,但是执行命令会发现由于没有获得stdin 

   的输出,无法看到命令执行情况

  • 只使用用-i时,由于没有分配伪终端,看起来像pipe执行一样。但是执行结果、命令 

   返回值都可以正确获取

  • /bin/bash命令是在容器创建完毕之后,Docker就会执行此命令启动一个Bash shell

18、保存对容器的修改

我们对容器做了修改,但是该容器所对应的镜像文件并没有被修改,所以当我们删除容器并通过镜像重新启 动后,我们的修改将不复存 在,所以我们要对修改后的容器保存为一份新的镜像

# -a "参数可选,用于指定作者,可以写你的名字"
# -m "参数可选,提交信息,可以说一下你做了哪些修改"
# 35080a00743a  该参数为被修改的容器ID
# Dx/nginx 此为新镜像的名字,可自定义
# Dx 此为新镜像的标签,可不写,不写时标签默认为latest
docker commit -a "DongXin" -m "xxxx" 35080a00743a Dx/nginx:Dx

19、查看镜像、容器、数据卷所占用空间

docker system df

20、根据仓库名列出镜像

docker image ls nginx (nginx:16.04 也可以根据仓库名和标签列出镜像)

21、查看容器内部的具体改动

docker diff nginx

22、查看镜像内的历史记录

docker history 镜像名:标签

23、docker logs 容器ID

1526959578223221.png

如果出现以上日志信息,那么就根据错误信息去解决。但如果你没有出现以上错误日志信息,则是因为容器运行的命令不是那些一直前台挂起的命令(比如运行top,tail),就是会自动退出的

如果觉得我的文章对您有用,请随意打赏、分享。您的支持将鼓励我继续创作!

微博分享
0条评论

发表评论

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