系列导航

一、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. Django笔记四十四之Nginx+uWSGI部署Django以及Nginx负载均衡操作

    本文首发于公众号:Hunter后端 原文链接:Django笔记四十四之Nginx+uWSGI部署Django以及Nginx负载均衡操作 这一篇笔记介绍如何使用 Nginx + uWSGI 来部署 Dj ...

  2. [ABC274G] Security Camera 3

    Problem Statement There is a grid with $H$ rows from top to bottom and $W$ columns from left to righ ...

  3. 2023-12-16:用go语言,给定整数数组arr,求删除任一元素后, 新数组中长度为k的子数组累加和的最大值。 来自字节。

    2023-12-16:用go语言,给定整数数组arr,求删除任一元素后, 新数组中长度为k的子数组累加和的最大值. 来自字节. 答案2023-12-16: 来自左程云. 灵捷3.5 大体步骤如下: 算 ...

  4. JavaScript 文件优化指南

    本文将探讨实用的 JavaScript 文件优化技术.如何处理与 JavaScript 文件相关的性能问题以及帮助优化过程的工具.你将获得提升web应用程序速度的相关知识,从而为你的用户提供无缝体验. ...

  5. Javascript Ajax总结——其他跨域技术之Comet

    Comet指一种更高级的Ajax技术( 也称 "服务器推送" ),一种服务器向页面推送数据的技术.Comet能够让信息近乎实时地被推送到页面上,非常适合体育比赛的分数和股票报价.有 ...

  6. 【scikit-learn基础】--『监督学习』之 LASSO回归

    LASSO(Least Absolute Shrinkage and Selection Operator)回归模型一般都是用英文缩写表示,硬要翻译的话,可翻译为 最小绝对收缩和选择算子. 它是一种线 ...

  7. CentOS 7 安装 Python 3.X版本

    由于Centos7默认安装了python2.7.5版本,因此想安装python 3.X版本就需要特殊处理. 详情可以参考南宫羽香的技术博客原文:https://www.cnblogs.com/lclq ...

  8. k8s 标签-2

    目录 标签-2 node的角色 修改node节点的角色,将他的角色修改成他的主机名 标签的作用 Cordon,Drain以及污点 Cordon--告警警戒 Drain 驱逐演示 污点 污点的Cordo ...

  9. Winform PictureBox图片旋转

    Image img = this.pictureBox1.Image; img.RotateFlip(RotateFlipType.Rotate90FlipNone); this.pictureBox ...

  10. 文心一言 VS 讯飞星火 VS chatgpt (38)-- 算法导论5.4 2题

    二.假设我们将球投入到b个箱子里,直到某个箱子中有两个球.每一次投掷都是独立的并且每个球落入任何箱子的机会均等.请问投球次数期望是多少? 文心一言: 这是一个典型的鸽巢原理(Pigeonhole Pr ...