Docker七天系列之介绍安装

安装介绍

应用应该脱离底层硬件的限制,在任何时间与地点可以获取 ,Docker就是基于此思想 ,可以快速分发与部署。

有了docker可以轻松将网站在不同操作系统,不同云服务器中迁移。只要把容器打包,就可以轻松部署。不需要像过去一样,重复安装 mysql/php/apache....。

与虚拟机比较

  • 使用内核虚拟化技术速度更快
  • 系统资源点用少,一台主机上可以同时运行数千个 Docker 容器。
  • 起动速度秒级,而虚拟机分钟级
  • 硬盘占用更少,虚拟机是完整系统占用往往达到G级

官网文档:https://docs.docker.com/install/overview/

基础知识


镜像

镜像类似于虚拟机中的镜像,镜像是只读的,可以方便的从网上下载镜像,类似面向对象编程中的类。

容器

容器是从镜像创建的运行对象。可以启动/删除/停止,容器间都是相互独立的,类似面向对象编程中的对象。

仓库

类型于管理镜像的GITHUB,可以将镜像提交到仓库,供其他用户或其他平台轻松使用。

加速器


提升国内用户访问 Docker Hub 拉取镜像的速度及稳定性。

Linux

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s
http://f1361db2.m.daocloud.io

该脚本可以将 --registry-mirror 加入到你的 Docker 配置文件 /etc/docker/daemon.json 中。适用于 Ubuntu14.04、Debian、CentOS6 、CentOS7、Fedora、Arch Linux、openSUSE Leap 42.1,其他版本可能有细微不同。更多详情请访问文档。

macOS

Docker For Mac

右键点击桌面顶栏的 docker 图标,选择 Preferences ,在 Daemon 标签(Docker 17.03 之前版本为 Advanced 标签)下的 Registry mirrors 列表中加入下面的镜像地址:

http://f1361db2.m.daocloud.io

点击 Apply & Restart 按钮使设置生效。
Docker Toolbox 等配置方法请参考帮助文档。

Windows

Docker For Windows

在桌面右下角状态栏中右键 docker 图标,修改在 Docker Daemon 标签页中的 json ,把下面的地址:

http://f1361db2.m.daocloud.io

加到"registry-mirrors"的数组里。点击 Apply 。

ubuntu


环境配置

  1. 删除旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc
  1. 更新apt包索引:
sudo apt-get update
  1. 安装包以允许apt通过HTTPS使用存储库:
sudo apt-get install \
  apt-transport-https \
  ca-certificates \
  curl \
  gnupg-agent \
  software-properties-common
  1. 添加Docker的官方GPG密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88通过搜索指纹的最后8个字符,验证您现在拥有带指纹的密钥 。

sudo apt-key fingerprint 0EBFCD88
   
pub   rsa4096 2017-02-22 [SCEA]
    9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid           [ unknown] Docker Release (CE deb) <docker@docker.com>
sub   rsa4096 2017-02-22 [S]
  1. 添加软件源
sudo add-apt-repository \
  "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) \
  stable"
  1. 更新apt包索引。
sudo apt-get update
某些系统更新失败

当执行 apt-get update 失败时,使用命令 sudo software-properties-gtk 在软件的 Other Software 标签中将 https://download.docker.com/linux/ubuntu 源的distribution 值设置为bionic,也可以直接修改 /etc/apt/source.lists 文件。

安装方法

  1. 安装最新版本的Docker CE和containerd,或者转到下一步安装特定版本:
sudo apt-get install docker-ce docker-ce-cli containerd.io
  1. 通过运行hello-world 映像验证是否正确安装了Docker CE 。
sudo docker run hello-world

进程维护

  1. 停止、启动、重启docker
sudo systemctl start | stop | restart docker.service
  1. 查看docker版本
sudo docker version
  1. 加入开机自启
sudo systemctl enable docker
  1. 开机启动检测
sudo systemctl list-unit-files | grep docker

维护

升级

要升级Docker CE,请先运行sudo apt-get update

卸载
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker docker.io

sudo rm -rf /var/lib/docker

sudo apt autoremove     

普通帐号

每次运行docker都要使用 sudo,下面介绍使用当前登录帐号执行 docker 的方法

  1. 创建docker组。
sudo groupadd docker
  1. 将您的用户添加到该docker组。
sudo usermod -aG docker $USER
  1. 注销并重新登录,以便重新评估您的组成员身份。
    如果在虚拟机上进行测试,则可能需要重新启动虚拟机才能使更改生效。
    在桌面Linux环境(如X Windows)上,完全注销会话,然后重新登录。

  2. 验证您是否可以运行 docker 命令sudo

docker run hello-world

基本使用


镜像管理

# 搜索镜像
docker search ubuntu

# 安装ubuntu镜像
docker pull ubuntu

# 查看镜像列表
docker images

删除镜像
可以使用name或tag删除镜像,要保证没有容器使用该镜像。

docker rmi -f ubuntu:latest

批量删除镜像

docker rmi `docker images -q`

服务容器

以守护进程启动容器

docker run -tid ubuntu /bin/bash

查看运行的容器

docker ps

登录容器

docker exec -it 3c5e00452777 /bin/bash

停止容器

docker stop 3c5e00452777
# kill 立刻停止容器,类似于直接关机
docker kill 3c5e00452777

启动停止的容器

docker start 3c5e00452777

删除容器

docker rm -f ubuntu:latest

批量删除容器

docker rm `docker ps -a -q`

指定容器名

# 执行 ubuntu 镜像生成新容器 hd
docker run -tid --name hd ubuntu /bin/bash

查看容器进程

docker top ubuntu

查看容器端口映射

docker port pf

查看容器元信息(如IP)

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

推荐阅读更多精彩内容

  • Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 G...
    凉初透的风阅读 7,646评论 0 3
  • 五、Docker 端口映射 无论如何,这些 ip 是基于本地系统的并且容器的端口非本地主机是访问不到的。此外,除了...
    R_X阅读 1,730评论 0 7
  • docker基本概念 1. Image Definition 镜像 Image 就是一堆只读层 read-only...
    慢清尘阅读 8,720评论 1 21
  • 这几天看完了《摆渡人》,什么感觉呢,好像没有什么特殊的感觉,也不是很明白小说要表达什么,说是人性救赎之作,可我没什...
    舒珵阅读 245评论 0 0
  • 人,只有量力而行,该放就放,当止则止,才能在轻松快乐的节奏中,收获真正应该属于自己的那份成功。 你的爱好就是你的方...
    在海一边阅读 1,079评论 7 33