本文旨在为初学者提供Docker基本操作的全面指南,涵盖镜像的拉取、查看、删除,以及容器的启动、停止、进入等核心功能。同时,通过构建自定义JDK镜像的实际案例,加深对Dockerfile的理解与运用,助力开发者快速上手Docker,提升软件开发与部署效率。
导图
镜像操作
拉取镜像到本地
docker pull 镜像名称[:tag]
示例:tomcat
docker pull daocloud.io/library/tomcat:8.5.15-jre8
查看全部本地的镜像
docker images
删除本地镜像
docker rmi 镜像的标识
镜像的导入导出(不规范)
将本地的镜像导出
docker save -o 导出的路径 镜像id
加载本地的镜像文件
docker load -i 镜像文件
修改镜像名称
docker tag 镜像id 新镜像名称:版本
容器操作
运行容器
- 简单操作
docker run 镜像的标识|镜像名称[tag]
- 常用的参数
docker run -d -p 宿主机端口:容器端口 --name 容器名称 镜像的标识|镜像名称[tag]
- -d: 代表后台运行容器
- -p: 宿主机端口:容器端口: 为了映射当前Linux的端口和容器的端口
- --name 容器名称: 指定容器的名称
查看正在运行的容器
docker ps [OPTIONS]
- OPTIONS说明:
- -a: 代表查看全部的容器,包括没有运行
- -q: 只查看容器的标识
- -f: 根据条件过滤显示的内容
- --format: 指定返回值的模板文件
- -l: 显示最近创建的容器
- -n: 列出最近创建的n个容器
- --no-trunc: 不截断输出
- -s: 显示总的文件大小
查看容器的日志
docker logs -f 容器id
-f: 可以滚动查看日志的最后几行
进入到容器内部
docker exec -it 容器id bash
删除容器(删除容器前,需要先停止容器)
docker stop 容器id
# 停止指定的容器
docker stop $(docker ps -qa)
# 停止全部容器
docker rm 镜像id
# 删除指定容器
docker rm $(docker ps -qa)
# 删除全部容器
启动容器
docker start 容器id
实验实训
自定义构建JDK镜像
1.准备jdk压缩包、创建Dockerfile文件 jdk压缩包、Dockerfile文件在同一目录,如下
Dockerfile文件内容如下
# 指定基础镜像
FROM centos:latest
# 指定工作目录
WORKDIR /usr/local/java
# 复制文件
ADD jdk-8u221-linux-x64.tar.gz /usr/local/java/
# 配置环境变量
ENV JAVA_HOME=/usr/local/java/jdk1.8.0_221
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH
2.构建
docker build -t jdk1.8:1.0
3.运行并测试
docker run -itd --name jdk1.8 jdk1.8:1.0
docker exec -it jdk1.8 bin/bash
4.验证jdk
[root@4cb7f2b7243a java]# java -version
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)