Docker 容器 入门篇

Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 AUFS 类的 Union FS 等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。最初实现是基于LXC,从 0.7 以后开始去除 LXC,转而使用自行开发的 libcontainer,从 1.11 开始,则进一步演进为使用 runC 和 containerd。

优势

1. 更高效的利用系统资源——无需额外系统开销
2. 更快速的启动时间——秒级启动时间
3. 一致的运行环境
4. 持续交付和部署
5. 更轻松的迁移
6. 更轻松的维护和扩展——扩展自己docker镜像

一、安装

Docker 官网

MacWin10 用户可以直接下载安装

Ubuntu 可以直接输入以下命令

curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -

安装完成后

Mac用户可以看到 应用程序了如图:

Docker for Mac

开启时:

for Mac 2

Docker for Mac 安装阿里云加速器(因为墙的原因 所以安装加速器)

加速器

至于这个加速地址怎么来的呢,是阿里云给每个用户都免费分配了的,阿里云加速器地址

网站

登陆并进入蓝色的按钮管理中心进入页面:

加速器

将它输入到刚刚上面图 填写网址的地方 重启 docker 然后在终端中查看加速器是否生效即可

docker->Preferences->Daemin进入界面

加速器界面
Info界面

如果出现这样的  那么你阿里云的加速器就配好了,下面就开始简单的应用

二、基本应用

1.查看所有镜像

docker images
空的镜像

2.拉取镜像

docker pull [选项] [Docker Registry地址]<仓库名>:<标签> 

由于我们用的阿里云的加速器 可以不指定网址拉取镜像直接指定景象名称来拉取

拉取镜像

有了镜像那么如何新建一个容器和运行一个容器呢?

3.运行一个新容器并给它起个名字

docker run -it --name temp ubuntu:16.04

# -i 交互式操作
# -t 终端
# --name temp 容器起名字为temp
# ubuntu:16.04:这是指用 ubuntu:16.04 镜像为基础来启动容器。
新建并进入容器

输入vim、git等命令 看看是否是一个裸体(纯净)的容器

查看命令

什么命令都没有,说明是一个很纯净的容器,我们首先换apt的源 清华大学源

cd /etc/apt

cp sources.list sources.list.bak
# 拷贝一个 sources.list原件 改名sources.list.bak

tee sources.list <<-'EOF'

然后把源的制定粘贴进去

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main multiverse restricted universe

结束后输入 EOF

切源结束

apt-get update 
# 更新源

apt-get install vim git
# 安装vim 和 git

查看一下git 是否装好了

git版本查看

现在退出 容器exit

这时候怎么进入刚刚的容器呢 如果还是输入docker run -it --name *** ubuntu:16.04
会发现进的还是一个新的 纯净的容器

4.查看容器列表

docker ps
# 查看启动了的容器

docker ps -a
# 查看所有的容器(启不启动都算)

5.启动容器

docker start temp
# temp可以是容器名或者id(id在ps命令中可以看到)

6.运行容器

docker exec -it temp bash

# -i 交互式操作
# -t 终端
# bash:放在镜像名后的是命令。这里我们希望有个交互式 Shell,因此用的是 bash(开启一个人机交互的窗口)。
以上的命令图

作者也是在边学习边整理笔记中,年纪大了忘性也大,一是方便自己查阅,二是方便大家能快速的搭建..

希望我的博客对你们有所帮助,你的认可就是我最大的动力。。

本文为作者原创,允许转载,转载后请以链接形式说明文章出处.
如转载但不标明来源,后果自负。

您的支持是对我最大的鼓励!

发表于: 作者:吕倡
博主经历空降兵部队8年军旅生涯,退伍后到北京IT兄弟连学习软件编程开发,工作不到一年后IT进入兄弟会,一晃在IT行业混迹了5、6年的时间。。。从一名小白也进入到了IT管理者的位置。博客,是博主学习知识分享以及私人笔记(未发布的博客)留存的地方,方便随时观看。
我的站点 Github 新浪微博 Email联系我