帮助命令
官方查阅文档地址:https://docs.docker.com/reference/
docker version #显示 docker 版本信息
docker info #显示 docker 的系统信息,包括镜像和容器
docker --help #帮助命令
镜像命令
docker images #查看所有本地主机上的镜像
说明:
- REPOSITORY:镜像仓库源
- TAG:镜像标签
- IMAGE ID:镜像id
- CREATED:镜像创建的时间
- SIZE:镜像大小
重点:
1)docker images -aq #显示所有的镜像
2)docker images -q #仅显示镜像 id
docker search 搜索镜像
docker search mysql #以搜索mysql为例
docker search mysql --filter=STARS=3000 #STARS大于3000
docker pull 下载镜像
语法:docker pull 镜像名[:tag] #不写tag,默认下载 latest
docker 是分层下载的,之前下过的无需重新下载,节省时间
docker rmi 删除镜像
docker rmi -f 镜像id #通过镜像id删除
docker rmi -f 镜像id 镜像id 镜像id #通过镜像id删除多个镜像
docker rmi -f $(docker images -aq) #删除所有镜像
容器命令
说明:有了镜像我们才可以创建容器,以centos镜像为例
docker pull centos
- 新建容器并启动
docker run [参数] image
参数说明- --name="Name" 容器名字,用于区分容器
*-d 后台方式运行
*-it 使用交互方式运行,进入容器查看内容
*-p 指定容器端口
1) -p ip
- --name="Name" 容器名字,用于区分容器
- -p 主机端口:容器端口(常用)
3) -p 容器端口
- -p 随机端口号
docker ps 查看容器运行情况
语法:docker ps 命令
docker ps # 列出当前正在运行的容器
docker ps -a #列出当前正在运行的容器 + 历史运行的容器
docker ps -n=? #显示最近出现的容器,?是个数
docker ps -aq #显示运行容器id
推出容器
exit #容器直接停止并退出
ctrl+p+q #容器不停止退出,利用ps命令去验证
删除容器
docker rm 容器id #删除指定的容器,不能删除正在运行的容器,如果要强制删除用 rm -f
docker rm -f $(docker ps -aq) #删除所有的容器
docker ps -a -q|xargs docker rm #删除所有的容器
启动和停止容器
docker start 容器id #启动容器
docker stop 容器id #停止正在运行的容器
docker kill 容器id #强制停止当前容器
docker restart 容器id #重启容器
常用其他命令
后台启动容器
问题:使用后台启动容器,docker ps 时发现镜像停止
docker run -d 镜像名
- 问题 :docker ps 时发现镜像停止
常见坑:docker 容器使用后台运行,就必须要有一个前台进程(例如 -it 选项就是以交互方式进入容器即对外提供服务),docker 发现没有应用,就会自动停止 nginx ,容器启动后,发现自己没有提供服务就会立刻停止,也就没有程序了。
查看日志
docker logs --help
编写一个 shell 脚本来制造日志
-tf #显示日志
--tail number #显示日志条数
docker logs -tf --tail 10 容器id
查看容器中进程信息
docker top 容器id
查看镜像的元数据
docker inspect --help
docker inspect 容器id
进入当前正在运行的容器
通常使用后台方式运行,需要进入容器来修改一些配置
docker exec -it 容器id /bin/bash #通过/bin/bash命令行来进行交互进入容器
docker attch 容器id
区别:exec进入容器后进入新的终端,可以操作;attach 进入正在执行的终端,不会启动新的终端
从容器内拷贝到主机上
docker cp 容器id:容器内路径 目标机路径
ps:拷贝是一个手动过程,之后我们可以使用 -v卷 来共享