提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、Docker架构
- 二、Docker进程相关命令
-
- [(一)启动 docker 服务](#(一)启动 docker 服务)
- [(二)重启 docker 服务](#(二)重启 docker 服务)
- [(三)停止 docker 服务](#(三)停止 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 服务
c
systemctl start docker
(二)重启 docker 服务
c
systemctl restart docker
(三)停止 docker 服务
c
systemctl stop docker
(四)查看 docker 服务状态
c
systemctl status docker
(五)设置开机启动 docker 服务
c
systemctl enable docker
三、Docker 镜像相关命令
(一)查看镜像
查看本地所有镜像
c
docker images
docker images -q #查看所有镜像的id
各个选项说明:
REPOSITORY: 表示镜像的仓库源
TAG : 镜像的标签
IMAGE ID : 镜像ID
CREATED : 镜像创建时间
SIZE : 镜像大小
(二)搜索镜像
从网络中查找需要的镜像
c
docker search 镜像名称
例如:查询mysql 镜像
c
docker search mysql
(三)拉取镜像
c
docker pull 镜像名称
docker pull mysql #拉取mysql镜像,没指定版本号,默认最新版本镜像
(四)删除镜像
删除本地镜像
c
docker rmi 镜像id
docker rmi -f 镜像名/镜像ID
#批量删除镜像
docker rmi $(docker images -aq)
docker rmi 'docker images -aq'
(五)保存镜像
在/root 目录下有个test文件,将mysql的镜像文件打包成tar包保存
c
docker save -o [保存路径/镜像文件名].tar [镜像名]:[标签]
在/root 目录下有个test文件,将mysql的镜像文件打包成tar包保存
c
docker save -o /root/test/mysql.tar mysql:latest
(六)加载镜像
c
docker load -i [镜像文件名].tar
将上述的mysql.tar镜像文件包,加载成镜像
c
docker load -i mysql.tar
四、Docker 容器相关命令
(一)查看容器
1、查看正在运行的容器
c
docker ps
2、查看所有的容器
正在运行的容器和已停止运行的容器
c
docker ps -a
3、查看最近运行的两个
c
docker ps -a -n=2
4、查看正在运行的容器的id
c
docker ps -q
5、查看所有容器的id
c
docker ps -aq
6、查看容器内部进程
c
docker top <容器id或名称> bash
7、与容器内部进行交互
c
docker exec -it <容器id或名称> bash
8、查询最后一次创建的容器
c
docker ps -l
(二)查看容器日志
1、查看容器运行日志
c
docker logs <容器id或名称>
2、实时展示容器日志
c
docker logs -f <容器id或名称>
3、加入时间戳展示日志
c
docker logs -tf <容器id或名称>
4、查看最后n行日志
c
docker logs --tail 5 <容器id或名称>
(三)启动容器
1、docker 启动一个容器
c
docker run -it <镜像名称> /bin/bash
docker run -it ubuntu /bin/bash #启动ubuntu镜像
参数说明:
-i:交互式操作
-t:终端
2、启动已停止运行的容器
c
docker start <容器id>
3、重启一个容器
c
docker restart <容器id>
4、启动容器并将容器挂载后台运行
c
docker run -itd --name ubuntu-test ubuntu /bin/bash ##启动一个ubuntu容器
参数说明:
-d:默认不会进入容器
5、启动容器映射端口号,后台启动,指定容器名称
c
docker run -p 8080:8080 --name 容器名称 -d 镜像名称:版本号
(四)停止容器
1、停止
c
docker stop <容器名称或者容器id>
2、杀死一个容器
c
docker kill <容器名称或者容器id>
3、停止全部容器
c
docker stop $(docker ps -a -q)
(五)删除容器
c
docker rm <容器id或者名称>
docker rm -f <容器id或者名称>
docker rm -f $(docker ps -aq) #删除全部容器
(六)进入容器内部
1、进入容器后,退出容器,容器停止
c
docker attach <容器id>
2、进入容器后,退出容器,不会导致容器停止
c
docker exec <容器id>
docker exec <容器id> /bin/bash
(七)退出容器内部
c
exit
再加上一份图,展示命令使用过程
五、Docker-Compose命令
(一)启动服务
c
docker-compose up
启动服务,服务在后台运行
docker-compose up -d
(二)停止服务
c
docker-compose down
(三)构建服务
c
docker-compose build
(四)查看服务日志
c
docker-compose logs
# 实时跟踪日志
docker-compose logs -f
(五)查看正在运行的服务
c
docker-compose ps
(六)删除所有服务容器
c
docker-compose down --volumes
总结
以上就是我们安装docker后会经常使用的命令,然后就是理解 镜像 、容器和服务三者之间的关系。至于仓库很好理解,就是存放镜像的地址,仓库分为官方公共镜像仓库和私有镜像仓库,私有镜像仓库需要身份认证后才能拉取镜像文件。