Docker入门

1.Docker简介

      Docker是2013年发起的一个项目,引述百度百科关于Docker的介绍[1]:“Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可以移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。”  

2.Docker架构

     Docker采用C/S(客户端/服务器)架构模式,架构图如下[1]:

Docker架构图
图 2.1 容器架构图

                           

描述说明作用
ClientDocker 客户端通过docker指令使用远程Docker API。
docker machineDocker安装命令行工具例如VirtualBox等。
Host容器主机物理或虚拟化的机器。
daemon容器守护进程在宿主后台运行,等待客户端的请求,并处理服务端接受到来自客户的请求。
images

Docker 镜像

创建 Docker 容器的模板。

container

Docker 容器

能独立运行的某个或一组应用。

Registrydocker仓库用来存放镜像,docker hub提供大量的镜像。用户可以在docker hub或阿里云创建私有仓库。

Docker简单工作流程简述如下:

1)Docker客户端通过docker pull指令从Registry仓库下载镜像;

2)Docker客户端通过docker create/docker build指令安装一个容器;

3)Docker客户端通过 docker start指令启动容器(或通过docker run指令创建并启动一个容器);

4)Docker客户端通过 docker stop指令停止容器;

5)Docker客户端通过 docker push指令将镜像保存到仓库。

3.Docker安装

Docker支持在Linux、windows和macOS上运行,安装教程详见官方文档:

Linux:https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-docker-ce-1

windows:https://docs.docker.com/docker-for-windows/install/

MacOS:https://docs.docker.com/docker-for-mac/install/

4.Docker加速

 Docker在国内下载镜像会非常的慢,所以在安装好docker之后一般推荐大家设置docker加速。网上一大推介绍docker加速教程,现在以daocloud镜像加速为例设置镜像加速。

1) 如果您使用的是MacOS,那么打开docker客户端->Preferences->Daemon->Basic, 按下图输入daocloud镜像,点击"Appply & restart"。

图 4.1 MacOS配置docker加速
图 4.1 MacOS配置docker加速

2)如果您用的是Linux系统,您可以修改 /etc/docker/daemon.json 文件并添加上 registry-mirrors 键值。

 {

    "registry-mirrors": ["https://www.daocloud.io/mirror"]

 }

    修改保存后重启 Docker 以使配置生效。

3)  如果您用的是windows系统,请参考:https://blog.csdn.net/slibra_L/article/details/77505003.

5. Docker使用

    假设您已经安装好docker,下面我们以安装node.js为例子简单聊聊docker的使用。

1) 查找镜像

首先要知道能安装什么样的镜像,例如想安装node.js,先到docker hub上查找镜像,在终端输入指令:docker search node.js

图 5.1  搜索镜像

2) 下载镜像

下载上图第一个node官方镜像。在终端输入指令:docker pull node

图 5.2  下载镜像

3) 查看本地的镜像

在终端输入:docker images , 看到node的最新版本已经下载下来了。

图 5.3  查看本地镜像

4)安装并启动容器:docker run --name mynode  -d  node

     容器命名为:mynode

5)  查看正在运行的容器: docker ps

6)停止容器: docker stop mynode

7)  启动/重启容器:docker  start/restart mynode

6. Docker 指令

 上面例子只是简单用到docker的几个指令,当然还有其他的指令,我们在终端输入docker -help ,屏幕输出指令如下:

图 6.1  docker指令

这些指令对于初学者来说还是比较陌生的,为了方便初学者快速理解这些指令,参考“Docker 命令大全”[2]将这些指令归纳为几类:

容器生命周期run创建并启动容器
create仅创建容器
start/restart启动已被停止的容器/容器重启
pause/unpause暂停容器/恢复容器
stop停止容器
kill杀掉运行中的容器
rm删除容器
exec在运行的容器中执行命令
容器操作attach连接到正在运行中的容器
events监控服务器实时事件
export导出容器
logs查看容器的日志
inspect 获取容器/镜像的元数据
port列出指定的容器的端口映射
ps列出当前容器
top查看容器中运行的进程信息
wait阻塞运行直到容器停止,并打印出它的退出代码
容器rootfs命令commit从容器创建一个新的镜像
cp拷贝容器与主机之间的数据
diff检查容器里文件结构的更改信息
镜像镜像仓库login登录镜像仓库
pull从镜像仓库拉取镜像
push往镜像仓库推送本地镜像
search在镜像仓库搜索镜像
本地镜像管理images列出本地镜像
rmi删除镜像
tag给镜像打tag
build通过 Dockerfile 创建镜像
history查看镜像的创建历史
save将镜像保存成 tar归档文件
import从归档文件创建镜像
其他docker系统信息info查看Docker系统信息
version查看docker系统版本号

7.总结

本博客只是简单介绍了docker的入门知识,要深入掌握docker,还是需要自己多下功夫琢磨。好了,就写这么多吧,看完了就动手实践一下吧。

参考文献

1. Docker_百度百科: https://baike.baidu.com/item/Docker/13344470?fr=aladdin#1_2

2. Docker 命令大全:http://www.runoob.com/docker/docker-command-manual.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值