第12章 Docker新手入门:掌握基本操作与镜像构建

1,281 阅读2分钟

本文旨在为初学者提供Docker基本操作的全面指南,涵盖镜像的拉取、查看、删除,以及容器的启动、停止、进入等核心功能。同时,通过构建自定义JDK镜像的实际案例,加深对Dockerfile的理解与运用,助力开发者快速上手Docker,提升软件开发与部署效率。

导图

image.png

镜像操作

拉取镜像到本地

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文件在同一目录,如下

image.png 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)