系列导航

一、docker入门(概念)

二、docker的安装和镜像管理

三、docker容器的常用命令

四、容器的网络访问

五、容器端口转发

六、docker数据卷

七、手动制作docker镜像

八、docker-file自动构建docker镜像

九、dockerfile指令讲解

十、docker镜像的分层

十一、docker的容器互联

十二、docker仓库

十三、docker的四种网络类型

十四、跨宿主机容器之间的通信

十五、跨主机通信overlay网络

十六、企业级私有仓库harbor

十七、其他

二、docker的安装和镜像管理

1、卸载已经安装的docker

$ sudo yum remove docker \

                  docker-client \

                 
docker-client-latest \

                  docker-common \

                  docker-latest \

                 
docker-latest-logrotate \

                  docker-logrotate
\

                  docker-engine

2、使用 Docker 仓库进行安装

设置仓库

安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device   mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。

$ sudo yum install -y
yum-utils \

  device-mapper-persistent-data \

  lvm2

使用以下命令来设置稳定的仓库。

$ sudo
yum-config-manager \

    --add-repo \

    https://download.docker.com/linux/centos/docker-ce.repo

注:之后/etc/yum.repos.d会多出一个docker-ce.repo的文件

也可以使用国内清华的源如下

wegt https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

安装 Docker Engine-Community

(1)安装最新版本的 Docker Engine-Community 和 containerd,或者转到下一步安装特定版本:

$ sudo yum install docker-ce docker-ce-cli containerd.io

2)要安装特定版本的 Docker Engine-Community,请在存储库中列出可用版本,然后选择并安装:

1、列出并排序您存储库中可用的版本。此示例按版本号(从高到低)对结果进行排序。

$ yum list
docker-ce --showduplicates | sort
-r

docker-ce.x86_64  3:18.09.1-3.el7            
        docker-ce-stable

docker-ce.x86_64  3:18.09.0-3.el7            
        docker-ce-stable

docker-ce.x86_64  18.06.1.ce-3.el7  
                 docker-ce-stable

docker-ce.x86_64  18.06.0.ce-3.el7  
                 docker-ce-stable

通过其完整的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-18.09.1。

$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

例如:$  sudo yum install docker-ce-19.03.8 docker-ce-cli-19.03.8 containerd.io

3启动 Docker

$ sudo systemctl start docker
  sudo systemctl stop docker

查看docker的版本号

# docker version

 

注:设置docker开机自动启动

$ systemctl enable docker

4、docker组件

docker主要组建由:镜像、容器、仓库

容器----镜像----仓库

5、安装nginx 示例

(1)查看可用版本

$ docker search nginx
 

(2)取最新版的 Nginx 镜像

$ docker pull nginx:latest
 

(3)查看本地镜像

$ docker images
 

(4)运行容器

$ docker run --name nginx-test -p 8081:80 -d nginx

参数说明:

  • --name nginx-test:容器名称。
  • -p 8081:80: 端口进行映射,将本地 8081 端口映射到容器内部的 80 端口。
  • -d nginx: 设置容器在在后台一直运行。

6、镜像操作

[root@node03 ~]# docker image

Usage:      docker image COMMAND

Manage images

Commands:

build       Build an image from a Dockerfile

history     Show the history of an image

inspect     Display detailed information on one or more images

load        Load an image from a tar archive or STDIN

ls          List images

prune       Remove unused images

pull        Pull an image or a repository from a registry

push        Push an image or a repository to a registry

rm          Remove one or more images

save        Save one or more images to a tar archive (streamed to STDOUT by default)

tag         Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE

(1)导出save

[root@node03 ~]# docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

nginx               latest              c7460dfcab50        2 months ago        126MB

ubuntu              v1                  d95affe68237        2 months ago        64.2MB

ubuntu              latest              549b9b86cb8d        2 months ago        64.2MB

ubuntu              15.10               9b9cb95443b5        3 years ago         137MB

[root@node03 ~]# docker save ubuntu:v1>ubuntu:v1.tar.gz

[root@node03 ~]# ls

anaconda-ks.cfg  initial-setup-ks.cfg  openstack-swift-object  ubuntu:v1.tar.gz

(2)删除rm

[root@node03 ~]# docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

nginx               latest              c7460dfcab50        2 months ago        126MB

ubuntu              v1                  d95affe68237        2 months ago        64.2MB

ubuntu              latest              549b9b86cb8d        2 months ago        64.2MB

ubuntu              15.10               9b9cb95443b5        3 years ago         137MB

[root@node03 ~]# docker image rm ubuntu:v1

强制删除镜像

docker image rm -f ubuntu:v1

Untagged: ubuntu:v1

Deleted: sha256:d95affe682373bd90a87a6ddeabb55923e573b28139a8b89861823c1da376874

Deleted: sha256:5497fad1c6326d9f1e78625d01940f001c5ba7b5c79ce7e4c7daa43d9a00fec8

[root@node03 ~]# docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

nginx               latest              c7460dfcab50        2 months ago        126MB

ubuntu              latest              549b9b86cb8d        2 months ago        64.2MB

ubuntu              15.10               9b9cb95443b5        3 years ago         137MB

(3)导入load

注:ubuntu:v1.tar.gz是之前导出的镜像

[root@node03 ~]# docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

nginx               latest              c7460dfcab50        2 months ago        126MB

ubuntu              latest              549b9b86cb8d        2 months ago        64.2MB

ubuntu              15.10               9b9cb95443b5        3 years ago         137MB

[root@node03 ~]# docker load -i ubuntu:v1.tar.gz

5497fad1c632: Loading layer [==================================================>]  66.57MB/66.57MB

Loaded image: ubuntu:v1

[root@node03 ~]# ^C

[root@node03 ~]# docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

nginx               latest              c7460dfcab50        2 months ago        126MB

ubuntu              v1                  d95affe68237        2 months ago        64.2MB

ubuntu              latest              549b9b86cb8d        2 months ago        64.2MB

ubuntu              15.10               9b9cb95443b5        3 years ago         137MB

(4)拉取镜像pull

例如:拉取最新的nginx镜像

$ docker pull nginx:latest

(5)推镜像

上推需要先登录

登录
$ docker login
退出
$ docker logout

登录

docker login -u 用户名 -p 密码

docker push 172.25.131.101/library/nginx:latest

(6)镜像重命名tag

注:将名称很长的镜像重命名一个短名字,重命名后老的名称和新的名称都是同一个镜像,删除老名字的镜像只删除了连接,镜像还存在。

(7)查找镜像

例如查找httpd服务的镜像
#docker search httpd

二、docker的安装和镜像管理的更多相关文章

  1. Docker的安装和镜像管理并利用Docker容器实现nginx的负载均衡、动静分离

    Docker的安装 一.Docker的概念 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化 ...

  2. docker介绍、安装及镜像管理

    虚拟化简介 虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器.网络.内存及存储等,予以抽象.转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以 ...

  3. 在Ubuntu18.04的Docker中安装Oracle镜像及简单使用

    一.软件环境: 1.OS:Ubuntu 18.04 2.已安装了Docker 二.安装Oracle镜像的过程 1.切换到root账号下,如果是普通账号,下面操作指令前面加sudo 2.搜索oracle ...

  4. docker 的安装和镜像

    一.docker的 安装 : 第一种: yum -y install docker systemctl start docker.service systemctl status docker 第二种 ...

  5. Docker笔记6:Docker 常见命令及镜像管理

    目  录 一.Docker 常用命令 docker version 命令 docker info 命令 二.Docker 镜像管理 搜索镜像:docker search 镜像名 获取镜像:docker ...

  6. 一张图比較 Docker 和 Git:镜像管理设计理念

    Docker 的镜像管理设计中大量借鉴了 Git 的理念. 以下这张图将对两者的核心概念和操作进行比較,有助于大家高速掌握管理 Docker 镜像的正确方式. watermark/2/text/aHR ...

  7. docker第三篇 镜像管理基础

    docker 工作原理: 常用的命令docker run .create .start... 都是客户端命令 Docker Daemon 接收到客户端传过来的命令以后 docker daemon会根据 ...

  8. docker之私有仓库镜像管理

    一.查看本地镜像 二.给镜像打标记(tag ) [root@node03 ~]# docker tag wordpress:v1 192.168.1.197:5000/wordpress:v1 2.删 ...

  9. docker核心概念(镜像、容器、仓库)及基本操作

    概要 docker是一种linux容器技术.容器有效的将由单个操作系统挂管理的资源划分到孤立的组中,以便更好的在组之间平衡有冲突的资源使用需求.可简单理解为一种沙盒 .每个容器内运行一个应用,不同的容 ...

  10. centos7下docker的安装教程

    Centos7下docker安装教程以及踩过的那些坑 推荐在Centos下安装docker,在windows下安装docker可能会遇到很多的问题,而且docker官方推荐使用linux环境来使用do ...

随机推荐

  1. [USACO2007NOVS] Cow Hurdles S

    题目描述 Farmer John wants the cows to prepare for the county jumping competition, so Bessie and the gan ...

  2. 打造一个极度舒适的Chrome扩展项目开发环境

    大家好,我是 dom 哥.这是我关于 Chrome 扩展开发的系列文章,感兴趣的可以 点个小星星. Chrome 扩展能够提高浏览器的使用体验,通过自定义 UI 界面,监听浏览器事件,改变 Web 页 ...

  3. 2023 年最后一波工具安利「GitHub 热点速览」

    2023 年还有两周就要接近尾声了,2023 年的热点速览还有一波工具好安利:比如上周推荐之后上了热榜的远程调试工具 page-spy-web,让调试像呼吸一般自然方便:还有轻量级的搜索引擎 oram ...

  4. Go 泛型之泛型约束

    Go 泛型之泛型约束 目录 Go 泛型之泛型约束 一.引入 二.最宽松的约束:any 三.支持比较操作的内置约束:comparable 四.自定义约束 五.类型集合(type set) 六.简化版的约 ...

  5. 从零玩转Docker之docker-compose快捷部署中间件-dockercompose2

    title: 从零玩转Docker之docker-compose快捷部署中间件 date: 2023-04-04 17:35:18.035 updated: 2023-05-13 23:08:09.5 ...

  6. MongoDB的CRUD操作(入门)

    MongoDB的简单介绍: 1:MongoDB是什么? mongodb是非关系数据库 但是是非关系数据库当中功能最丰富,最像关系数据库的 MongoDB是一个基于分布式文件存储的数据库. 由C++语言 ...

  7. [Luogu 4998 信号塔] 题解报告

    估计没人看的简化版题意: 给定一个数轴,以及数轴上的 \(n\) 个点(这些点可能坐落在同一坐标上),第 \(i\) 个点的坐标为 \(a_i\) .现在要在数轴上找 \(k\) 个点,第 \(i\) ...

  8. Asp .Net Core 系列: 集成 CORS跨域配置

    目录 什么是CORS? Asp .Net Core 种如何配置CORS? CorsPolicyBuilder类详解 注册以及使用策略三种方式 EnableCors 和 DisableCors 特性 关 ...

  9. 欢迎使用CSDN-markdown编辑器测试

    这里写自定义目录标题 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一 ...

  10. Boost程序库完全开发指南:1.2-C++基础知识点梳理

      主要整理了N多年前(2010年)学习C++的时候开始总结的知识点,好长时间不写C++代码了,现在LLM量化和推理需要重新学习C++编程,看来出来混迟早要还的. 1.const_cast <n ...