Docker学习

发布于:2025-07-02 ⋅ 阅读:(16) ⋅ 点赞:(0)

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

image-20250529110810829

4. 常见命令

image-20250529112800546

  • 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

7. 数据卷挂载

数据卷(Volume)是一个虚拟目录,是容器内目录与宿主机目录之间映射的桥梁。

image-20250531170327217

image-20250531170403683

7.1 什么是数据卷

  • 数据卷是一个虚拟目录,它将宿主机目录映射到容器内目录,方便我们操作容器内文件,或者方便迁移容器产生的数据

7.2 如何挂载数据卷

  • 在创建容器时,利用 -v 数据卷名: 容器内目录完成挂载
  • 容器创建时,如果发现挂载的数据卷不存在时,会自动创建

8. 本地目录挂载

image-20250531192640787

9. Dockerfile语法

image-20250531200852884

image-20250531201501868

10. 容器网络互连

image-20250531203703939