构建Ubuntu+GCC+jdk8的Docker镜像
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构建Ubuntu+GCC+jdk8的Docker镜像相关的知识,希望对你有一定的参考价值。
参考技术A 基础镜像为Ubuntu 20.04,Ubuntu 的源存放在在 /etc/apt/ 目录下的 sources.list 文件中;默认更新源是国外服务器,在更新连接相关的服务器的时候,可能出现无法链接的情况,导致系统的更新或者软件的安装无法正常完成。其实国内有很多的Ubuntu的镜像源。比较知名的有阿里、网易上的Ubuntu数据源。
改用国内阿里的软件源,在本机创建sources.list文件,构建镜像时,将此文件COPY到镜像中。
docker命令总结
容器三大核心概念:镜像,容器,仓库。
镜像:
- 镜像是一个独立的文件系统,里面包含了运行环境和配置类似于一个小小型的linux系统
- 镜像可由dockerfile来进行构建
- 镜像是静态的,一经构建就无法更改
- 镜像是多层存储结构,上一层以下一层为基础
容器:
- 容器是镜像的运行实体,容器基于镜像创建
- 应用在容器中运行
- 容器也是多层存储结构,叫容器存储层
- 也可以根据修改容器构建一个新的镜像
仓库:
- 作用:用于存放镜像文件
- 要区别于仓库register注册服务器
docker 命令总结
先看一下docker命令的分布情况,只要理解了docker三大核心概念基本就没有问题了。
与镜像有关的命令
- docker tag 源镜像:版本 :为一个镜像打标签,相当于一个镜像的新版本
- docker history 镜像名称:镜像版本:查看镜像历史,更迭变化
- docker images:列出全部镜像列表
- docker rmi 镜像名称:镜像版本:删除镜像,加-f参数强制删除镜像
- docker pull 镜像名称[:标签]:从镜像仓库中拉取镜像或者仓库
- docker push 镜像名称:将一个镜像推送到镜像注册服务器
- docker load :从一个 tar 包中加载一个镜像
- docker import :从一个tar中加载内容,从而创建一个镜像
docker load用来载入镜像包,docker import用来载入容器包,但两者都会恢复为镜像;docker load不能对载入的镜像重命名,而docker import可以为镜像指定新名称。
与容器有关的命令
- docker ps :列出宿主主机上的容器
- docker stop 容器名或ID:停止容器的运行,加上-t 参数可以让容器在停止前保存状态,默认为10秒
- docker start 容器名或ID,docker restart 容器名或ID:开启容器,重新启动容器
- docker pause 容器名或ID,docker unpause 容器名或ID:暂停容器中的所有进程,撤销暂停
- docker rm 容器ID:删除一个或多个容器,-f参数强制删除一个容器,-l参数删除指向的连接,-v参数删除与该容器相关的卷
- docker rename 旧名 新名称:重命名容器
- docker kill 容器ID:关闭一个运行中的容器 (包括进程和所有相关资源)
- docker stats 容器ID:输出(一个或多个)容器的资源使用统计信息,不写容器ID,默认输出所有运行中的容器资源使用情况
- docker logs 容器ID:查看容器日志
- docker top 容器ID:查看容器中正在运行的进程信息
- docker diff 容器ID:查看容器中文件的变化情况,是增加了文件,还是改变了文件,等等
- docker inspect 容器ID:查看容器的具体配置信息,配置位置等等信息
- docker update 容器ID:更新容器的配置信息
- docker exec -it 容器名 bash;与容器进行交互,也就是进入容器内执行一些命令
- docker cp 本地文件路径 容器ID或名称:容器路径:将本机文件复制到容器中
- docker container cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH:将容器中的文件复制到本地机中
- docker export 容器名或ID:导出容器内容为一个 tar 包
- docker save :将一个或多个镜像保存为tar 文件,例如:docker save -o n.tar nginx:v3
docker save和docker export的区别:docker save保存的是镜像(image),docker export保存的是容器(container);
与仓库有关的命令
- docker login -u 用户名 -p 密码;登录到docker镜像仓库
- docker logout;从docker仓库中退出登录
- docker search 镜像;在docker仓库中搜索镜像
以上是关于构建Ubuntu+GCC+jdk8的Docker镜像的主要内容,如果未能解决你的问题,请参考以下文章
Docker 搭建Ubuntu 16.0.4(银河麒麟V10) 构建环境
Docker 镜像:基于 Ubuntu 的基础镜像中文问题解决
Docker -- 自定义镜像(Dockerfile)基于Ubuntu镜像构建一个新镜像基于java:8-alpine镜像将一个Java项目构建为镜像