系列导航

一、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. DC静态时序分析之时钟篇

    DC静态时序分析之时钟篇博主微信:flm13724054952,不懂的有疑惑的也可以加微信咨询,欢迎大家前来投稿,谢谢! 引言介绍在芯片设计或者FPGA设计里面,根据有无时钟,将电路设计分为时序逻辑电 ...

  2. [AGC003D] Anticube

    Problem Statement Snuke got positive integers $s_1,...,s_N$ from his mother, as a birthday present. ...

  3. [CF1601C] Optimal Insertion

    Optimal Insertion 题面翻译 题目大意 给定两个序列 \(a,b\),长度分别为 \(n,m(1\leq n,m\leq 10^6)\).接下来将 \(b\) 中的所有元素以任意方式插 ...

  4. VUE路由基本操作

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  5. FOJ有奖月赛-2015年11月 Problem B 函数求解

    Problem B 函数求解 Accept: 171    Submit: 540Time Limit: 1000 mSec    Memory Limit : 32768 KB  Problem D ...

  6. C#如何对List中的Object进行排序

    首先定义一个List类,这个类里面包含了Name和Total两个属性变量,下面就是针对这两个变量进行排序. public class Player { public string Name { get ...

  7. Python——第三章:函数的定义

    函数的定义: 对某一个特定的功能或者代码块进行封装. 在需要使用该功能的时候直接调用即可 格式: def 函数的名字(): 被封装的功能或者代码块->函数体 调用: 函数的名字() 使用函数的好 ...

  8. 【MySql】数据库_MySql基础

    yum install mysql mysql -u root -p 创建数据库 create database 数据库名; 查看所有数据仓库 show databases; 删除数据库 drop d ...

  9. JavaScript this 绑定详解

    函数内 this 绑定 函数内this的绑定和函数定义的位置没有关系,和调用的方式和调用位置有关系,函数内的this是在被调用执行时被绑定的. this的具体绑定规则 this 绑定基本包含下面4种绑 ...

  10. 让gorm代码飞起来,gorm+gmodeltool生成entity,让实体类代码更轻松。

    背景 不卷!php经历多年的不衰败的原因只有一个,哪就是不卷,但是由于并发和缺乏编译严谨度降低,使得长青树不得己走向了衰败. 但!叱咤风云多年,大企百度.腾讯.新浪.搜狐的首先语言的流行在于,其语言的 ...