内容简介:Docker 包括三个基本概念:镜像(Image)、容器(Container)、仓库(Repository)。
1. Docker介绍
-
Docker 是一个开源的软件部署解决方案。
-
Docker 也是轻量级的应用容器框架。
-
Docker 可以打包、发布、运行任何的应用。
-
Docker 是一个客户端-服务端(C/S)架构程序。
Docker 包括三个基本概念:镜像(Image)、容器(Container)、仓库(Repository)。
-
镜像(Image)
-
Docker的镜像概念类似于虚拟机里的镜像,是一个只读的模板,一个独立的文件系统,包括运行容器所需的数据,可以用来创建新的容器。
-
例如:一个镜像可以包含一个完整的 ubuntu 操作系统环境,里面仅安装了 MySQL 或用户需要的其它应用程序。
-
-
容器(Container)
-
Docker容器是由 Docker 镜像创建的运行实例,类似VM虚拟机,支持启动,停止,删除等。
-
每个容器间是相互隔离的,容器中会运行特定的应用,包含特定应用的代码及所需的依赖文件。
-
-
-
Docker的仓库功能类似于Github,是用于托管镜像的。
-
2.基本使用
2.1启动与停止
# 启动docker $ sudo service docker start # 重启docker $ sudo service docker restart # 停止 docker$ sudo service docker stop复制代码
2.2 Docker镜像操作
# 显示镜像列表 $ sudo docker image ls # 从仓库拉取镜像 # 官方镜像 $ sudo docker image pull 镜像名称 或者 sudo docker image pull library/镜像名称 # 拉取官方最新镜像 $ sudo docker image pull ubuntu 或者 sudo docker image pull library/ubuntu $ sudo docker image pull ubuntu:16.04 或者 sudo docker image pull library/ubuntu:16.04 # 指定特定版本镜像 # 从仓库拉取镜像 $ sudo docker image pull delron/fastdfs # 一个分布式文件服务器系统复制代码
* REPOSITORY:镜像所在的仓库名称 * TAG:镜像标签,不是最新的会显示版本号 * IMAGEID:镜像ID * CREATED:镜像的创建日期(不是获取该镜像的日期) * SIZE:镜像大小复制代码
2.3 删除镜像
$ sudo docker image rm 镜像名或镜像ID $ sudo docker image rm hello-world $ sudo docker image rm fce289e99eb9复制代码
3. Docker容器操作
3.1 容器列表
# 查看正在运行的容器 $ sudo docker container ls # 查看所有的容器 $ sudo docker container ls --all复制代码
3.2 创建容器
$ sudo docker run [option] 镜像名 [向启动容器中传入的命令] 常用可选参数说明: * -i 表示以《交互模式》运行容器。 * -t 表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。 * --name 为创建的容器命名。 * -v 表示目录映射关系,即宿主机目录:容器中目录。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。 * -d 会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器)。 * -p 表示端口映射,即宿主机端口:容器中端口。 * --network=host 表示将主机的网络环境映射到容器中,使容器的网络与主机相同。复制代码
3.3交互式容器
在容器中可以随意执行 linux 命令,就是一个ubuntu的环境,当执行 exit 命令退出时,该容器随之停止。如果对于一个需要长期运行的容器来说,我们可以创建一个守护式容器。在容器内部执行 exit 命令退出时,该容器也随之停止。
$ sudo docker run -it --name=ubuntu1 ubuntu /bin/bash # 开启守护式容器 $ sudo docker run -dit --name=ubuntu2 ubuntu # 进入到容器内部交互环境 $ sudo docker exec -it 容器名或容器id 进入后执行的第一个命令 $ sudo docker exec -it ubuntu2 /bin/bash复制代码
3.4 停止和启动容器
# 停止容器 $ sudo docker container stop 容器名或容器id # kill掉容器 $ sudo docker container kill 容器名或容器id # 启动容器 $ sudo docker container start 容器名或容器id # 删除容器 $ sudo docker container rm 容器名或容器id复制代码
注意:正在运行的容器无法直接删除,必须先停掉在删。
3.5 容器制作成镜像
-
为保证已经配置完成的环境可以重复利用,我们可以将容器制作成镜像。
# 将容器制作成镜像 $ sudo docker commit 容器名 镜像名 # 镜像打包备份 $ sudo docker save -o 保存的文件名 镜像名 # 镜像解压 $ sudo docker load -i 文件路径/备份文件复制代码
4 使用Docker安装FastDFS
FastDFS介绍
-
用
c语言
编写的一款开源的轻量级分布式文件系统。 -
功能包括:文件存储、文件访问(文件上传、文件下载)、文件同步等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
-
为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标。
-
可以帮助我们搭建一套高性能的文件服务器集群,并提供文件上传、下载等服务。
4.1 获取FastDFS镜像
# 从仓库拉取镜像,联网安装 $ sudo docker image pull delron/fastdfs # 本地镜像安装方式 $ sudo docker load -i 文件路径/fastdfs_docker.tar复制代码
4.2 开启tracker容器
先在/var目录下建立一个 fdfs
目录,并给上最高权限,映射到宿主机的 /var/fdfs/tracker
目录中
sudo mkdir /var/fdfs sudo chmod 777 /var/fdfs sudo docker run -dit --name tracker --network=host -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker复制代码
4.3 开启storage容器
-
TRACKER_SERVER=Tracker的ip地址:22122(Tracker的ip地址不要使用127.0.0.1),通过ifconfig查看。
-
我们将 storage 运行目录映射到宿主机的
/var/fdfs/storage
目录中。
sudo docker run -dti --name storage --network=host -e TRACKER_SERVER=192.168.103.158:22122 -v /var/fdfs/storage:/var/fdfs delron/fastdfs storage复制代码
注意:如果无法重启storage容器,可以删除/var/fdfs/storage/data目录下的fdfs_storaged.pid 文件,然后重新运行storage。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- RecyclerView使用指南(一)—— 基本使用
- 如何使用Meteorjs使用URL参数
- 使用 defer 还是不使用 defer?
- 使用 Typescript 加强 Vuex 使用体验
- [译] 何时使用 Rust?何时使用 Go?
- UDP协议的正确使用场合(谨慎使用)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
ECMAScript6入门
阮一峰 / 电子工业出版社 / 2014-8 / 49.00元
《ECMAScript6入门》全面介绍了ECMAScript6新引入的语法特性,覆盖了ECMAScript6与ECMAScript5的所有不同之处,对涉及的语法知识给予了详细介绍,并给出了大量简洁易懂的示例代码。 《ECMAScript6入门》为中级难度,适合已有一定JavaScript语言基础的读者,用来了解这门语言的最新发展;也可当作参考手册,查寻新增的语法点。一起来看看 《ECMAScript6入门》 这本书的介绍吧!