2 docker模板 镜像 容器 仓库管理

镜像管理

搜索镜像

# docker search centos

[stars]:开发者的数量,应当选择开发者较多的

下载镜像

# docker pull centos

查看镜像

# docker images

复制镜像

# docker tag centos centos1[:tag]

启动镜像

docker run -t -i centos /bin/bash

-t分配为终端

-i让容器标准输入打开

加上-d 即使exit退出为终端,容器也在运行,容器里的网站啊数据库都不会停止

查看镜像的运行情况

docker ps 查看正在运行的镜像

docker ps -a 查看正在所有的镜像

删除镜像

如果容器已经启动,先要关闭容器

docker stop CONTAINER_ID

删除镜像

docker rmi centos[:tag] 删除镜像

tag用于精确定位

# docker rmi hiyang

Untagged: hiyang:latest

# docker rmi yang:latest

Untagged: yang:latest

参考文档http://yaxin-cn.github.io/Docker/how-to-delete-a-docker-image.html



Docker 基于已有镜像的容器创建镜像

官方提供centos镜像,带有yum。

安装一些常用软件

# yum install wget net-tools vim-enhanced

查看系统版本

# cat /etc/redhat-release

CentOS Linux release 7.2.1511 (Core)

查看内核 和母机的内核版本相同

# uname -r

2.6.32-573.el6.x86_64

生成新的镜像

# docker commit -m ‘centos with net-tools and wget‘ -a ‘hiyang‘ 8c13d4df2974 centos_with_net

-m 指定说明信息

-a 指定作者

CONTAINER ID 可以缩写

最后是新镜像的名称



基于本地模板dao‘ru创建镜像

模板下载地址

https://download.openvz.org/template/precreated/

openvz的模板可以使用在docker中

# wget https://download.openvz.org/template/precreated/centos-6-x86-minimal.tar.gz

导入模板

# cat centos-6-x86-minimal.tar.gz | docker import - centos-6-x86-minimal

此处的名称centos-6-x86-minimal可以自定义

导出镜像

# docker save -o centos_with_net IMAGE_ID

导入镜像

# docker load -i centos6 或者

# docker load < centos6

上推镜像

# docker push image_name



容器管理

启动容器时运行命令,bash -c可以省略可以省略

# docker run -d centos bash -c "while :; do echo "123";  sleep 5;done"

# docker exec -it centos bash -c "while :; do echo "123";  sleep 5;done"

查看命令运行情况

# docker logs

启动exit后的容器

# docker start CONTAINER_ID

CONTAINER_ID可以简写

启动容器时,使用--name指定名称

# docker run --name hi -itd centos

关闭容器

# docker stop CONTAINER_ID

进入启动的容器

# docker exec -it CONTAINER_ID /bin/bash

# docker attach CONTAINER_ID 退出后即关闭系统

导出容器

# docker export cea > centos_export.tar

导入容器后是一个镜像,需要重新生成容器

# cat centos_export.tar | docker --import - hiyang



docker仓库管理

下载registry镜像,registry用来搭建本地的docker仓库

# docker pull registry

从外边无法访问容器,因此需要映射

# docker run -d -p 5000:5000 registry

查看registry的运行和端口

# docker ps

CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS                    NAMES

c86eaf803b16        registry            "/entrypoint.sh /etc   3 minutes ago       Up 3 minutes        0.0.0.0:5000->5000/tcp   elegant_fermat

测试网络连通性

# telnet 127.0.0.1 5000 或者

# curl 127.0.0.1:5000

为了测试,选择较小的busybox

# docker pull busybox

添加tag,添加这个tag之后才能上传到私有的仓库中

# docker tag busybox 192.168.1.30:5000/busybox

上传报错

# docker push 192.168.1.30:5000/busybox

Error response from daemon: invalid registry endpoint https://192.168.1.30:5000/v0/: unable to ping registry endpoint https://192.168.1.30:5000/v0/

解决办法,修改配置文件

# vim /etc/init.d/docker

$exec -d --insecure-registry 192.168.1.30:5000 $other_args &>> $logfile &

重启docker

# /etc/init.d/docker restart

启动registry

# docker start c86eaf803b16

上传成功

# docker push 192.168.1.30:5000/busybox

The push refers to a repository [192.168.1.30:5000/busybox] (len: 1)

b05baf071fd5: Image already exists

4185ddbe03f8: Image successfully pushed

Digest: sha256:30914a5bc1a94367f542a624e0ae1c7cc544bb97cef5e5b4e3bbf9eafdf6273d

来自为知笔记(Wiz)

时间: 2024-08-29 00:50:45

2 docker模板 镜像 容器 仓库管理的相关文章

docker的镜像 容器 仓库

docker镜像与容器 ##docker 下载镜像 docker pull centos ##查看docker里有哪些镜像 docker image ##创建容器 docker run -p 8080:8080 -d centos [-d :后台运行 ]不加-d 会一直显示 只能另开终端stop掉[ -p :绑定本机端口和容器端] ##查看docker正在运行的容器 docker ps ##查看docker的运行日志 docker logs -f 容器id[-f :动态显示容器运行日志]不加-f

DOCKER学习_002:Docker的镜像容器管理

一 Docker的基本信息 前面已经安装了Docker,现在看一下已安装Docker的安装环境以及其他信息 1.1 系统环境 [[email protected] ~]# uname -r 3.10.0-957.27.2.el7.x86_64 [[email protected]-server3 ~]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core) 1.2 Docker版本 [[email protected] ~]#

Docker的镜像和容器

Docker image详细介绍 在之前的介绍中,我们知道docker images 是docker的三大组件之一. docker把下载的 images 存储到docker主机上,如果一个 image 不在主机上,docker会从一个镜像仓库下载,默认的仓库是  DOCKER HUB  公共仓库. 接下来将介绍更多关于docker images 的内容,包括: 使用和管理本地主机上的 images 创建一个基础的 images 上传 images 到docker hub (公共 images 仓

Docker 之 基于容器的镜像制作

1  概述 镜像包含启动容器所需的文件系统和内容,可以理解为打包的文件,用于创建并启动docker容器. 镜像的生成途径有三个: 1.基于dockerfile实现,镜像制作的程序文件 2.基于容器实现,启动容器后,将新的操作制作为新镜像 3.docker hub automated builds 镜像文件采用分层构建机制,最底层为bootfs,上面为rootfs,rootfs上还可以有多层.位于最下层的镜像文件为父镜像(parent image),最底层为基础镜像(base image,root

Docker的镜像、容器和仓库

Docker本身的镜像是构建在其本身的文件系统之上的,Docker有很多种类的文件系统,Docker所支持的文件系统有以下几种:Aufs.devicemapper.btrfs和VFS,其中前三种是联合文件系统,可以支持分层,可以快速迭代,可以回滚.VFS 不支持.平时用的最多的是aufs 和devicemapper.Aufs(advanced multilayered unification filesystem), 直译过来就是高级分层联合文件系统,做为一种Union FS ,它支持将不同的目

docker(二)镜像和容器常用命令

一.镜像操作 1.搜索镜像 可以直接在Docker Hub 直接搜索镜像,当然也可以使用命令来搜索. docker search 名称 docker search tomcat 2.拉取镜像 docker pull 镜像名 #拉取redis3.0 docker pull redis:3.0 3.查看镜像列表 Docker镜像保存在/var/lib/docker docker images docker images -a docker images -q(显示id) 4.删除镜像 docker

docker 批量删除 镜像 容器

我们在docker构建和测试时,经常会产生很多无用的镜像或者容器,我们可用如下两条命令一个一个删除. docker container rm 容器id #删除容器 docker image rm 镜像ID #删除镜像 但是,还可以借助这两个获取容器ID和镜像ID的命令实现批量删除 获取容器ID列表: docker container ls -a -q 获取镜像ID列表: docker image ls -a -q 最终实现批量删除命令 批量删除容器: docker container rm $(

Docker 镜像 &amp;&amp; 容器的基本操作

镜像 && 容器 docker 镜像好比操作系统的镜像(iso) docker 容器好比是已安装运行的操作系统 所以说 docker 镜像文件运行起来之后,就是我们所说的 docker 容器了 Docker Image Operation 1)列出镜像 docker image ls -a 执行效果: 参数说明: REPOSITORY:镜像所在的仓库名称 TAG:镜像标签 IMAGEID:镜像ID CREATED:镜像的创建日期(不是获取该镜像的日期) SIZE:镜像大小 为了区分同一个仓

腾讯云CentOS 7.6 64位之docker的镜像和容器练习

本文使用的Docker是社区版,版本是19.03.2,这个版本是本文写时的最新版. 首先总结下容器和镜像的概念: 容器是用镜像创建的,一个镜像可以创建多个容器. 一般来说,一个容器就是一个应用,把应用在容器中运行称之为应用容器化. 删除镜像的时候,如果由这个镜像创建的容器还存在则会删除失败. 容器和镜像的关系就是:容器是镜像的实例化的可运行实体. 以下是我的练习内容: 1. 拉取镜像  docker pull centos:latest  或者按照版本拉取:docker pull centos: