以下均为尚硅谷在B站发布的docker学习视频的总结:
启动 :systemctl start docker
停止:systemctl stop docker
重启:systemctl restart docker
查看状态:systemctl status docker
开机启动:systemctl enable docker
查看概要信息:docker info
查看总体帮助文档:docker --help
查看命令帮助文档:docker 具体命令 --help
列出本地主机上的镜像:dockers images -a:列出本地所有镜像 -q:只显示镜像ID -qa
查找本地和远程库的镜像:docker search 镜像名 (–list 默认列出25个镜像)(e.g. --list 5 redis)
下载镜像:docker pull 镜像名字 [:TAG] (版本号) --> pull redis:6.0.8
查看镜像/容器/数据卷所占的空间:docker system df
删除镜像:
docker rmi -f ID
docker rmi -f 镜像名1:TAG 镜像名2:TAG
docker rmi -f $(docker images -qa)
面试题:docker虚悬镜像是什么?
docker必须部署在Linux虚拟内核上,如果其他系统想部署Docker就必须安装一个虚拟Linux环境。
【新建+启动容器】
docker run [OPTIONS] IMAGE [COMMAND] [ARG]
OPTIONS说明:
–name = ‘容器名字’ 为容器指定一个名字
-d :后台运行容器并返回容器ID,也即启动守护式容器(后台运行):
-i 以交互模式运行容器,通常与-t同时使用 -it
-t: 为容器重新分配一个伪输入终端 通常与-i同时使用
也即启动交互式容器(前台伪终端,等待交互)
-P 随机端口映射 大写
-p: 指定端口映射 小写 (端口映射:-p 8080:80)
先找鲸鱼 再找端口 区分应用
docker run -it --name=myu1 ubuntu bash
查看当前正在运行的docker容器:docker ps
退出容器:exit (容器停止) / ctrl+p+q (容器不停止)
启动已经停止运行的容器:docker start 容器ID或者容器名
强制删除容器:docker rm -f 容器名字
强制停止容器: docker kill 容器ID或者容器名
删除已经停止的容器: docker rm 容器名ID or容器ID
使用镜像centos:以后台模式启动一个容器
docker run -d centos
问题:然后docker ps -a 进行查看,会发现容器已经退出
Docker容器后台运行,就必须要有一个前台进程
容器运行的命令如果不是那些一直挂起的命令(比如运行top tail),就会自动退出
这个是docker的机制问题,比如你的web容器,以nginx为例,正常情况下,我们配置启动服务只需要启动相应的service.例如service nginx start ,但是这样ngnix为后台进程模式运行,就导致docker前台没有运行的应用,这样的容器后台启动后,就会立即自杀,因为他觉得没事可做了,.
----------将你要运行的程序以前台进程的形式运行,常见就是命令行模式,表示还有交互操作,别中断…
查看容器日志: docker logs 容器名
进入容器
docker exec -it 容器ID /bin/bash (重新进入 并且exit退出不会关闭容器)
copy容器内的文件到主机上: 容器->主机 docker cp 容器ID:容器内路径 目的主机路径
导入和导出容器: 整个容器进行备份
![在这里插入图片描述](https://img-blog.csdnimg.cn/56b85006883045478b4f02208330c65f.png#pic_center