Docker 获取镜像 - 一

时间:2023-12-25 19:58:13

docker  images

docker 镜像获取方式:

1、pull 可以直接从网上拉取;

2、import  可以从现有容器打包成一个镜像;

3、commit 可以从现有容器一个镜像;

4、build 可以创建dockerfile 构建一个镜像;

docker search tomcat 
搜索镜像
docker pull tomcat
拉取一个镜像 docker export nginx1 > nginx1.tar.gz
docker export 打包导出容器文件;
cat nginx1.tar.gz | docker import - nginx1.1:v1.1.1
import 使用打包文件 导入一个镜像 (REP = nginx1.1 、TAG = v1.1.1 ) docker commit -m="update" -a="nginx1.1" a68c576572d2 nginx1.1:1.1
从 ID a68c576572d2 容器 生成一个镜像 docker build -t nginx2.1:v2.1 .
build 自定义构建镜像

commit :从容器生成一个镜像;

docker commit -m="update1.1" -a="tomcat1.2":1.2 23defb07e362 tomcat1.2:1.2

-m 提交记录
23defb07e362 使用的容器 ID
-a 镜像 作者
tomcat1.:v1. 创建镜像名 和 tag 为 1.2

Docker 获取镜像 - 一

build :自定义构建一个镜像:

创建一个 test 目录:

mkdir /test
cd /test
touch Dockerfile default.conf
创建 Dockerfile 文件 (必须要大写)
创建一个测试文件 default.conf 测试上传到镜像里面

编辑 Docekerfile 文件

# cat Dockerfile 
FROM docker.io/centos # MAINIAINER
MAINTAINER Fisher "mahk" # put file # 添加测试文件
ADD default.conf /opt # RUN
# RUN yum install -y gcc gcc-c++ glibc
RUN yum install openssh-server net-tools -y
RUN /bin/echo 'root:123456' |chpasswd
RUN useradd user1
RUN /bin/echo 'user1:123456' |chpasswd
RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local # change dir
WORKDIR /tmp
RUN touch .txt # execute
EXPOSE CMD /usr/sbin/sshd -D

构建镜像 centos1.1  (. 指的当前目录)

docker build -t centos1.:v1. .

Docker 获取镜像 - 一

Docker 获取镜像 - 一

设置镜像的标签

docker tag 66e3e00d2c7a centos:v1.

# docker images 查看镜像列表;

docker ps :列出当前所有正在运行的container
docker ps -l :列出最近一次启动的container
docker ps -a :列出所有的container(包含历史,即运行过的container)
docker ps -q :列出最近一次运行的container ID
docker ps -n 2 : 查看最近两次启动的容器

# docker ps 状态

docker 删除镜像;

docker rmi  

如果是通过容器生成的镜像是删除不掉的;先删除依赖的容器;再删除;