docker 基础

1、docker 安装

yum 包更新到最新

yum update

安装需要的软件包,yum-util 提供 yum-config-manager 功能,另外两个是 devicemapper 驱动依赖的

yum install -y yum-utils device-mapper-persistent-data lvm2

设置 yum 源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

安装 docker ,出现输入的界面都按 y

yum install -y docker-ce

查看 docker 版本,验证是否安装成功

docker -v

2、docker 架构

  • 镜像(Image):Docker镜像,就相当于一个 root 文件系统,比如官方镜像 ubuntu:16.04 就包含了完整的一套 ubuntu 16.04 最小系统的 root 文件系统。

  • 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和对象一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、暂停等。

  • 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。

3、配置 Docker 镜像加速器

默认情况下,将来从docker.hub(https://hub.docker.com/)上下载 docker 镜像,太慢。一般都会配置镜像加速器。

// ustc:https://docker.mirrors.ustc.edu.cn
// 网易:https://hub-mirror.c.163.com/
// 阿里云:https://<你的ID>.mirror.aliyuncs.com (建议使用,登录阿里云获取)
// 七牛云加速器:https://reg-mirror.qiniu.com

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://<你的ID>.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

4、docker 服务相关命令

启动 docker 服务

systemctl start docker

停止 docker 服务

systemctl stop docker

重启 docker 服务

systemctl restart docker

查看 docker 服务状态

systemctl status docker

开机启动 docker 服务

systemctl enable docker

5、docker 镜像相关命令

查看镜像

docker images
docker images -q (获取全部镜像id)

搜索镜像

docker search [镜像名称,如:redis]

拉取镜像

docker pull [镜像名称,如:redis](部件版本号,默认拉取最新版本。指定版本:Redis:3.0。可在:hub.docker.com/ 查询)

删除镜像

// 删除指定镜像
docker rmi [镜像ID | 镜像名称:tag]
// 删除全部镜像
docker rmi `docker image -q` 

6、docker 容器相关命令

查看容器

docker ps // 查看正在运行的容器
docker ps -a // 查看所有容器

创建容器

// 创建并启动容器
docker run [参数]

参数说明:
-i:保持容器运行,通常与 -t 同时使用。加入 it 这两个参数以后,容器创建后自动进入容器中,退出容器后,容器自动关闭。
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用。
-d:以守护(后台)模式运行容器。创建一个容器在后台运行,需要使用 docker exec 进入容器,退出后,容器不会关闭。
-it:创建的容器一般称为交互式容器,-id:创建的容器一般称为守护时容器。
--name:为创建的容器命名

例子,如:

docker run -it --name=c1 centos:7 /bin/bash

i:一直运行;
t:分配终端,输入命令;
d:后台运行创建容器
name:给容器起名字;
7:指定的版本;
/bin/bash:进入容器后的初始化指令
exit: 退出容器,会关闭容器

进入容器

// 进入已运行的容器 c1
docker exec -it c1 /bin/bash

启动容器

docker start c2
// c2:容器名称

停止容器

docker stop c2 
// c2:容器名称

删除容器

docker rm [容器id 或 容器名称]

查看容器信息

docker inspect c2

7、Docker 容器的数据卷

数据卷的概念及作用

思考:
1、Docker 容器删除后,在容器中的数据还在吗?
答:可保存在数据卷中

2、Docker 容器和外部的机器可以直接交换文件吗?
答:不能

3、容器之间想要进行数据交互?
答:可通过数据卷

7.1、数据卷:

  1. 数据卷是宿主机的一个目录或文件
  2. 当容器目录和数据卷目录绑定后,对方的修改会立即同步
  3. 一个数据卷可以被多个容器同时挂载
  4. 一个容器也可以挂载多个数据卷

7.2、数据卷的作用:

  1. 容器数据持久化
  2. 外部机器和容器间接通信
  3. 容器之间数据交换

7.3、配置数据卷

创建启动容器时,使用 -v 参数设置数据卷

// docker run ... -v 宿主机目录(文件):容器内目录(文件) ...(多个数据卷:多个 -v)
docker run -it --name=c2 -v /root/data:/root/data_container redis:5.0.9 /bin/bash

注意事项:

  1. 目录必须是绝对路径
  2. 如果目录不存在,会自动创建
  3. 可以挂在多个数据卷

7.4、配置数据卷容器

多容器进行数据交互
1、多个容器挂载同一个数据卷
2、数据卷容器

1、创建启动 c3 数据卷容器,使用 -v 参数设置数据卷

docker run -it --name=c3 -v /volume centos:7 /bin/bash
// /volume:容器目录

2、创建启动 c1、c2 容器,使用 --volumes-from 参数设置数据卷

docker run -it --name=c1 --volumes-from c3 centos:7 /bin/bash
docker run -it --name=c2 --volumes-from c3 centos:7 /bin/bash
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容