docker基本命令

1.命令帮助

基本语法

docker 子命令 [选项] [参数]

命令帮助方式

docker --help

查看子命令帮助方式

docker 子命令 --help
# 如
docker run --help

还有官网
https://docs.docker.com/reference/

2.基本命令

与镜像相关

一批模板文件,不同的镜像可以包含的环境内容是不一样的,例如tomcat镜像

查看本地镜像有哪些

docker images

在这里插入图片描述

安装完docker之后,使用的run命令运行了一个hello-world容器,需要下载对应的镜像

在这里插入图片描述

搜索镜像

docker search
docker search mysql

在这里插入图片描述
在这里插入图片描述
如果我们想要了解更多的镜像,到官网镜像仓库
http://hub.docker.com

如何下载我们所需要的镜像文件

默认情况下是最新的(latest)

docker pull mysql
docker pull mysql:5.7

注:如果下载多个镜像之间有共享的数据层。那么不会重新下载,这样就节省了磁盘的空间

删除镜像

docker rmi(remove images缩写)进行删除
后面跟着镜像名称或者镜像Id
# 例如
docker rmi hello-world:latest

强制删除,如果某个镜像被容器使用或者这个镜像启动过某个容器,那么无法删除,可以使用-f

docker rmi -f d1165223232

容器有关

容器就是利用镜像文件创建的一个进程,运行镜像中定义的环境。镜像就像是模板,容器就是利用这个模板创建一个道具,产品

利用下载的镜像跑起来一个容器

docker run

例如:
调用客户端的run来运行这个容器,和我们平时使用的云主机或者虚拟机的centos7有区别,这是可以创建最小化依赖的centos7系统

docker pull centos:centos7
docker run -it centos:centos7 /bin/bash

run命令的选项

在这里插入图片描述

docker run -it centos:centos7 /bin/bash

docker run 运行了一个容器
-it:以交互模式开启一个终端
centos:centos7:使用这个镜像启动容器
/bin/bash:容器启动时,我们指定的一个运行的进程,centos这种镜像如果不指定,可能没有pid=1的进程时,容器启动立刻停止。
在这里插入图片描述
当前所在的命令提示符,内容发生了变化,证明现在所处客户端就是通过run运行时添加-t命令选项创建的虚拟客户端,客户端所在位置就是centos:centos7运行的容器内部。

docker ps

docker ps

容器启动之后,在宿主机通过ps命令可以查看启动和启动过的容器信息

在这里插入图片描述
在这里插入图片描述
ps常见选项

在这里插入图片描述

容器退出停止

对于我们创建出来的容器,主流在宿主机。可以通过两种方式进行容器的退出。

  • 虚拟机客户端(run -t)运行退出(使得容器停止运行,但是并不是每次执行exit会一定停止容器,exit只会停止当前使用的那个命令脚本解释器进行/bin/bash)容器才会停止

  • ctrl+P+Q容器退出但是不停止

docker start 容器id #启动容器可以运行
docker stop 容器# 停止容器
docker restart 容器id # 重启容器
docker kill 容器# 强制停止容器

start 启动,对于那些没有任何持续进程运行的容器时启动不起来的,比如测试容器
hello -world echo “hello world”

docker rm

对于长时间不需要的容器,依然驻留在宿主机,是浪费资源的,只要镜像存在,随时可以启动需要的容器,所以这些容器可以删除,rm就是删除

docker rm id

在这里插入图片描述
在测试环境中,编辑镜像,创建容器后都是测试内容,经常会批量删除所有容器,这是偶可以配合嵌套一个ps的命令,使用-f进行删除

  • -f强制删除容器,运行中的容器不可以直接删除,可以通过这选项进行删除所有容器(无论是启动的还是停止的)
docker rm -f $(docker ps -aq)

查看日志

docker logs
我们在运行一个容器之后,都会有容器的进程,这个进程会产生日志文件。比如tomcat,nginx这样的镜像。这时候调用docker logs的宿主机命令,可以查看对应的日志信息

docker logs -f -t --tail 10  id

在这里插入图片描述
run命令选项参数
-f:根据日志信息输出,比较类似于动态的查看日志
-t:显示时间戳
–tail 10:列出最近新的10条容器日志

进入容器

第一种方式attach

直接进入到一个虚拟终端,终端进程所在位置是这个容器正在运行的命令
例如

docker run -itd --name="volumn-demo2" tomcat:9.0 /bin/bash
docker ps
docker attach id
第二种方式exec

如果我们想要绕开这个容器中pid=1这个进程,进入容器中,可以使用exec的方式,另外指定进程。
docker exec -it 容器id 自定义开启另外的进程

docker exec -it id /bin/bash

进入容器中,容器中存在两个进程,一个是pid=1的catalina.sh运行,一个是我们单独开启的虚拟终端调用的/bin/bash
在这里插入图片描述
这个时候的退出只会把pid=33的bin/bash退出,不会影响tomcat容器中的catalina.sh运行,所以容器依然正常运行

docker cp

在容器运行过程中,如果想要从容器中把某个文件拷贝到宿主机,使用docker cp

例如

创建一个容器centos:centos7

docker run -itd  centos:centos7 /bin/bash
docker attach bb845c98d7c9
mkdir /home/demo.txt
docker cp bb845c98d7c9:/home/demo.txt ./

cp 后面跟id ./宿主机目的地

用宿主机访问docker里面的启动容器

 docker run -itd --name nginx-demo -p 80:80 nginx

-p是宿主机:docker容器的端口

crul localhost:80# 在宿主机上访问访问nginx

也可以通过windows的浏览器访问虚拟机地址加端口号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值