提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、Docker架构
- 二、Docker进程相关命令
- (一)启动 docker 服务
- (二)重启 docker 服务
- (三)停止 docker 服务
- (四)查看 docker 服务状态
- (五)设置开机启动 docker 服务
- 三、Docker 镜像相关命令
- (一)查看镜像
- (二)搜索镜像
- (三)拉取镜像
- (四)删除镜像
- (五)保存镜像
- (六)加载镜像
- 四、Docker 容器相关命令
- (一)查看容器
- (二)查看容器日志
- (三)启动容器
- (四)停止容器
- (五)删除容器
- (六)进入容器内部
- (七)退出容器内部
- 五、Docker-Compose命令
- (一)启动服务
- (二)停止服务
- (三)构建服务
- (四)查看服务日志
- (五)查看正在运行的服务
- (六)删除所有服务容器
- 总结
前言
提示:详细内容查看黑马程序员教程:
• Docker 是一个开源的应用容器引擎
• 诞生于 2013 年初,基于 Go 语言实现, dotCloud 公司出品(后改名为Docker Inc)
• Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux 机器上。
• 容器是完全使用沙箱机制,相互隔离
• 容器性能开销极低。
• Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版)
提示:重点理解docker架构。特别是镜像、容器概念
一、Docker架构
镜像(Image):Docker镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统
容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和对象一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等
仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像
二、Docker进程相关命令
(一)启动 docker 服务
systemctl start docker
(二)重启 docker 服务
systemctl restart docker
(三)停止 docker 服务
systemctl stop docker
(四)查看 docker 服务状态
systemctl status docker
(五)设置开机启动 docker 服务
systemctl enable docker
三、Docker 镜像相关命令
(一)查看镜像
查看本地所有镜像
docker images
docker images -q #查看所有镜像的id
各个选项说明:
REPOSITORY: 表示镜像的仓库源
TAG : 镜像的标签
IMAGE ID : 镜像ID
CREATED : 镜像创建时间
SIZE : 镜像大小
(二)搜索镜像
从网络中查找需要的镜像
docker search 镜像名称
例如:查询mysql 镜像
docker search mysql
(三)拉取镜像
docker pull 镜像名称
docker pull mysql #拉取mysql镜像,没指定版本号,默认最新版本镜像
(四)删除镜像
删除本地镜像
docker rmi 镜像id
docker rmi -f 镜像名/镜像ID#批量删除镜像
docker rmi $(docker images -aq)
docker rmi 'docker images -aq'
(五)保存镜像
在/root 目录下有个test文件,将mysql的镜像文件打包成tar包保存
docker save -o [保存路径/镜像文件名].tar [镜像名]:[标签]
在/root 目录下有个test文件,将mysql的镜像文件打包成tar包保存
docker save -o /root/test/mysql.tar mysql:latest
(六)加载镜像
docker load -i [镜像文件名].tar
将上述的mysql.tar镜像文件包,加载成镜像
docker load -i mysql.tar
四、Docker 容器相关命令
(一)查看容器
1、查看正在运行的容器
docker ps
2、查看所有的容器
正在运行的容器和已停止运行的容器
docker ps -a
3、查看最近运行的两个
docker ps -a -n=2
4、查看正在运行的容器的id
docker ps -q
5、查看所有容器的id
docker ps -aq
6、查看容器内部进程
docker top <容器id或名称> bash
7、与容器内部进行交互
docker exec -it <容器id或名称> bash
8、查询最后一次创建的容器
docker ps -l
(二)查看容器日志
1、查看容器运行日志
docker logs <容器id或名称>
2、实时展示容器日志
docker logs -f <容器id或名称>
3、加入时间戳展示日志
docker logs -tf <容器id或名称>
4、查看最后n行日志
docker logs --tail 5 <容器id或名称>
(三)启动容器
1、docker 启动一个容器
docker run -it <镜像名称> /bin/bash
docker run -it ubuntu /bin/bash #启动ubuntu镜像
参数说明:
-i:交互式操作
-t:终端
2、启动已停止运行的容器
docker start <容器id>
3、重启一个容器
docker restart <容器id>
4、启动容器并将容器挂载后台运行
docker run -itd --name ubuntu-test ubuntu /bin/bash ##启动一个ubuntu容器
参数说明:
-d:默认不会进入容器
5、启动容器映射端口号,后台启动,指定容器名称
docker run -p 8080:8080 --name 容器名称 -d 镜像名称:版本号
(四)停止容器
1、停止
docker stop <容器名称或者容器id>
2、杀死一个容器
docker kill <容器名称或者容器id>
3、停止全部容器
docker stop $(docker ps -a -q)
(五)删除容器
docker rm <容器id或者名称>
docker rm -f <容器id或者名称>
docker rm -f $(docker ps -aq) #删除全部容器
(六)进入容器内部
1、进入容器后,退出容器,容器停止
docker attach <容器id>
2、进入容器后,退出容器,不会导致容器停止
docker exec <容器id>
docker exec <容器id> /bin/bash
(七)退出容器内部
exit
再加上一份图,展示命令使用过程
五、Docker-Compose命令
(一)启动服务
docker-compose up
启动服务,服务在后台运行
docker-compose up -d
(二)停止服务
docker-compose down
(三)构建服务
docker-compose build
(四)查看服务日志
docker-compose logs# 实时跟踪日志
docker-compose logs -f
(五)查看正在运行的服务
docker-compose ps
(六)删除所有服务容器
docker-compose down --volumes
总结
以上就是我们安装docker后会经常使用的命令,然后就是理解 镜像 、容器和服务三者之间的关系。至于仓库很好理解,就是存放镜像的地址,仓库分为官方公共镜像仓库和私有镜像仓库,私有镜像仓库需要身份认证后才能拉取镜像文件。