二、docker的安装和镜像管理
系列导航
二、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的安装和镜像管理的更多相关文章
- Docker的安装和镜像管理并利用Docker容器实现nginx的负载均衡、动静分离
Docker的安装 一.Docker的概念 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化 ...
- docker介绍、安装及镜像管理
虚拟化简介 虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器.网络.内存及存储等,予以抽象.转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以 ...
- 在Ubuntu18.04的Docker中安装Oracle镜像及简单使用
一.软件环境: 1.OS:Ubuntu 18.04 2.已安装了Docker 二.安装Oracle镜像的过程 1.切换到root账号下,如果是普通账号,下面操作指令前面加sudo 2.搜索oracle ...
- docker 的安装和镜像
一.docker的 安装 : 第一种: yum -y install docker systemctl start docker.service systemctl status docker 第二种 ...
- Docker笔记6:Docker 常见命令及镜像管理
目 录 一.Docker 常用命令 docker version 命令 docker info 命令 二.Docker 镜像管理 搜索镜像:docker search 镜像名 获取镜像:docker ...
- 一张图比較 Docker 和 Git:镜像管理设计理念
Docker 的镜像管理设计中大量借鉴了 Git 的理念. 以下这张图将对两者的核心概念和操作进行比較,有助于大家高速掌握管理 Docker 镜像的正确方式. watermark/2/text/aHR ...
- docker第三篇 镜像管理基础
docker 工作原理: 常用的命令docker run .create .start... 都是客户端命令 Docker Daemon 接收到客户端传过来的命令以后 docker daemon会根据 ...
- docker之私有仓库镜像管理
一.查看本地镜像 二.给镜像打标记(tag ) [root@node03 ~]# docker tag wordpress:v1 192.168.1.197:5000/wordpress:v1 2.删 ...
- docker核心概念(镜像、容器、仓库)及基本操作
概要 docker是一种linux容器技术.容器有效的将由单个操作系统挂管理的资源划分到孤立的组中,以便更好的在组之间平衡有冲突的资源使用需求.可简单理解为一种沙盒 .每个容器内运行一个应用,不同的容 ...
- centos7下docker的安装教程
Centos7下docker安装教程以及踩过的那些坑 推荐在Centos下安装docker,在windows下安装docker可能会遇到很多的问题,而且docker官方推荐使用linux环境来使用do ...
随机推荐
- DC静态时序分析之时钟篇
DC静态时序分析之时钟篇博主微信:flm13724054952,不懂的有疑惑的也可以加微信咨询,欢迎大家前来投稿,谢谢! 引言介绍在芯片设计或者FPGA设计里面,根据有无时钟,将电路设计分为时序逻辑电 ...
- [AGC003D] Anticube
Problem Statement Snuke got positive integers $s_1,...,s_N$ from his mother, as a birthday present. ...
- [CF1601C] Optimal Insertion
Optimal Insertion 题面翻译 题目大意 给定两个序列 \(a,b\),长度分别为 \(n,m(1\leq n,m\leq 10^6)\).接下来将 \(b\) 中的所有元素以任意方式插 ...
- VUE路由基本操作
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- FOJ有奖月赛-2015年11月 Problem B 函数求解
Problem B 函数求解 Accept: 171 Submit: 540Time Limit: 1000 mSec Memory Limit : 32768 KB Problem D ...
- C#如何对List中的Object进行排序
首先定义一个List类,这个类里面包含了Name和Total两个属性变量,下面就是针对这两个变量进行排序. public class Player { public string Name { get ...
- Python——第三章:函数的定义
函数的定义: 对某一个特定的功能或者代码块进行封装. 在需要使用该功能的时候直接调用即可 格式: def 函数的名字(): 被封装的功能或者代码块->函数体 调用: 函数的名字() 使用函数的好 ...
- 【MySql】数据库_MySql基础
yum install mysql mysql -u root -p 创建数据库 create database 数据库名; 查看所有数据仓库 show databases; 删除数据库 drop d ...
- JavaScript this 绑定详解
函数内 this 绑定 函数内this的绑定和函数定义的位置没有关系,和调用的方式和调用位置有关系,函数内的this是在被调用执行时被绑定的. this的具体绑定规则 this 绑定基本包含下面4种绑 ...
- 让gorm代码飞起来,gorm+gmodeltool生成entity,让实体类代码更轻松。
背景 不卷!php经历多年的不衰败的原因只有一个,哪就是不卷,但是由于并发和缺乏编译严谨度降低,使得长青树不得己走向了衰败. 但!叱咤风云多年,大企百度.腾讯.新浪.搜狐的首先语言的流行在于,其语言的 ...