1. 安装Docker
略
2. 启动/停止Docker
# 启动docker
systemctl start docker
# 停止docker
systemctl stop docker
# 重启
systemctl restart docker
# 设置开机自启
systemctl enable docker
3. 镜像和容器
当我们利用Docker安装应用时,Docker会自动搜索并下载应用镜像(Image)。镜像不仅包括应用本身,还包含应用运行所需要的环境,配置,系统函数库。Docker会在运行镜像时创建一个隔离环境,称为容器(container)。
镜像仓库:存储和管理镜像的平台,Docker官方维护了一个公共仓库:https://hub.docker.com/
- 镜像
- MySQL应用本身
- 环境
- 配置
- 系统函数库
- 容器
- MySQL:3306
- MySQL:3307
4. 常见命令
- docker images: 查看有哪些镜像
- docker ps:查看有哪些容器正在运行
5. 命令别名
设置~/.bashrc
alias dps='docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"'
使.bashrc配置生效
source ~/.bashrc
6. 案例:查看DockerHub,拉取Nginx镜像,创建并运行Nginx容器
需求
- 在DockerHub中搜索Nginx镜像,查看镜像名称
- 拉取Nginx镜像
- 查看本地镜像列表
- 创建并运行Nginx容器
- 查看容器
- 停止容器
- 再次启动容器
- 进入Nginx容器
- 删除容器
命令
- 拉取Nginx镜像:
docker pull nginx
- 查看镜像是否拉取成功:
docker images
- 根据nginx的镜像创建nginx容器:
docker run -d --name nginx -p 80:80 nginx
- 查看运行中的容器:
docker ps
- 查看所有的容器:
docker ps -a
- 停止名字为nginx的容器:
docker stop nginx
- 启动容器:
docker start nginx
- 进入容器内部:
docker exec -it nginx bash
其中-it表示添加了一个终端 - 退出容器:
exit
- 拉取Nginx镜像:
7. 数据卷挂载
数据卷(Volume)是一个虚拟目录,是容器内目录与宿主机目录之间映射的桥梁。
7.1 什么是数据卷
- 数据卷是一个虚拟目录,它将宿主机目录映射到容器内目录,方便我们操作容器内文件,或者方便迁移容器产生的数据
7.2 如何挂载数据卷
- 在创建容器时,利用 -v 数据卷名: 容器内目录完成挂载
- 容器创建时,如果发现挂载的数据卷不存在时,会自动创建