详解Docker与FastDFS的安装命令及使用

 更新时间:2018年09月28日 09:49:36   作者:鱼大大  
这篇文章主要介绍了详解Docker与FastDFS的安装命令及使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

GPT4.0+Midjourney绘画+国内大模型 会员永久免费使用!
如果你想靠AI翻身,你先需要一个靠谱的工具!

Docker特点

1)上手快

用户只需要几分钟,就可以把自己的程序“Docker 化”。Docker 依赖于“写时复制” (copy-on-write)模型,使修改应用程序也非常迅速,可以说达到“随心所致,代码即改” 的境界。

随后,就可以创建容器来运行应用程序了。大多数 Docker 容器只需要不到 1 秒中即可 启动。由于去除了管理程序的开销,Docker 容器拥有很高的性能,同时同一台宿主机中也 可以运行更多的容器,使用户尽可能的充分利用系统资源。

2)职责的逻辑分类

使用 Docker,开发人员只需要关心容器中运行的应用程序,而运维人员只需要关心如 何管理容器。Docker 设计的目的就是要加强开发人员写代码的开发环境与应用程序要部署 的生产环境一致性。从而降低那种“开发时一切正常,肯定是运维的问题(测试环境都是正 常的,上线后出了问题就归结为肯定是运维的问题)”

3)快速高效的开发生命周期

Docker 的目标之一就是缩短代码从开发、测试到部署、上线运行的周期,让你的应用 程序具备可移植性,易于构建,并易于协作。(通俗一点说,Docker 就像一个盒子,里面 可以装很多物件,如果需要这些物件的可以直接将该大盒子拿走,而不需要从该盒子中一件 件的取。)

4)鼓励使用面向服务的架构

Docker 还鼓励面向服务的体系结构和微服务架构。Docker 推荐单个容器只运行一个应 用程序或进程,这样就形成了一个分布式的应用程序模型,在这种模型下,应用程序或者服 务都可以表示为一系列内部互联的容器,从而使分布式部署应用程序,扩展或调试应用程序 都变得非常简单,同时也提高了程序的内省性。(当然,可以在一个容器中运行多个应用程 序)

使用Docker做什么

容器提供了隔离性,容器可以为各种测试提供很好的沙盒环境。并且,容器本

身就具有“标准性”的特征,非常适合为服务创建构建块。Docker 的一些应用场景如下:

  • 加速本地开发和构建流程,使其更加高效、更加轻量化。本地开发人员可以构建、 运行并分享 Docker 容器。容器可以在开发环境中构建,然后轻松的提交到测试环境中,并 最终进入生产环境。
  • 能够让独立的服务或应用程序在不同的环境中,得到相同的运行结果。这一点在 面向服务的架构和重度依赖微型服务的部署由其实用。
  • 用 Docker 创建隔离的环境来进行测试。例如,用 Jenkins CI 这样的持续集成工具 启动一个用于测试的容器。
  • Docker 可以让开发者先在本机上构建一个复杂的程序或架构来进行测试,而不是 一开始就在生产环境部署、测试。

安装与操作

1. 在Ubuntu中安装Docker

更新ubuntu的apt源索引

1
sudo apt-get update

安装包允许apt通过HTTPS使用仓库

1
2
3
4
5
sudo apt-get install \
  apt-transport-https \
  ca-certificates \
  curl \
  software-properties-common

添加Docker官方GPG key

1
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

设置Docker稳定版仓库

1
2
3
4
sudo add-apt-repository \
  "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) \
  stable"

添加仓库后,更新apt源索引

1
sudo apt-get update

安装最新版Docker CE(社区版)

1
sudo apt-get install docker-ce

检查Docker CE是否安装正确

1
sudo docker run hello-world

出现如下信息,表示安装成功

为了避免每次命令都输入sudo,可以设置用户权限,注意执行后须注销重新登录

1
sudo usermod -a -G docker $USER

2. 启动与停止

安装完成Docker后,默认已经启动了docker服务,如需手动控制docker服务的启停,可执行如下命令

1
2
3
4
5
6
7
8
# 启动docker
sudo service docker start
 
# 停止docker
sudo service docker stop
 
# 重启docker
sudo service docker restart

3. Docker镜像操作

1. 列出镜像

2. 拉取镜像

要想获取某个镜像,我们可以使用pull命令,从仓库中拉取镜像到本地,如

1
docker image pull library/hello-world

由于 Docker 官方提供的 image 文件,都放在library组里面,所以它的是默认组,可以省略。因此,上面的命令可以写成下面这样。

1
docker image pull hello-world

3. 删除镜像

1
docker image rm 镜像名或镜像id

4. Docker 容器操作

创建容器

1
docker run [option] 镜像名 [向启动容器中传入的命令]

常用可选参数说明:

  • -i 表示以“交互模式”运行容器
  • -t 表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即 分配一个伪终端。
  • --name 为创建的容器命名
  • -v 表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录,即 宿主机目录:容器中目录),可以使 用多个-v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后 共享到容器上。
  • -d 在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不 会自动登录容器,如果只加-i -t 两个参数,创建后就会自动进去容器)。
  • -p 表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p 做多个端口映射
  • -e 为容器设置环境变量
  • --network=host 表示将主机的网络环境映射到容器中,容器的网络与主机相同

交互式容器

例如,创建一个交互式容器,并命名为myubuntu

1
docker run -it --name=myubuntu ubuntu /bin/bash

在容器中可以随意执行linux命令,就是一个ubuntu的环境,当执行exit命令退出时,该容器也随之停止。

守护式容器

创建一个守护式容器:如果对于一个需要长期运行的容器来说,我们可以创建一个守护式容器。在容器内部exit退出时,容器也不会停止。

1
docker run -dit --name=myubuntu2 ubuntu

进入已运行的容器

1
docker exec -it 容器名或容器id 进入后执行的第一个命令


1
docker exec -it myubuntu2 /bin/bash

查看容器

1
2
3
4
5
# 列出本机正在运行的容器
docker container ls
 
# 列出本机所有容器,包括已经终止运行的
docker container ls --all

停止与启动容器

1
2
3
4
5
6
7
8
# 停止一个已经在运行的容器
docker container stop 容器名或容器id
 
# 启动一个已经停止的容器
docker container start 容器名或容器id
 
# kill掉一个已经在运行的容器
docker container kill 容器名或容器id

删除容器

1
docker container rm 容器名或容器id

5. 将容器保存为镜像

我们可以通过如下命令将容器保存为镜像

1
docker commit 容器名 镜像名

6. 镜像备份与迁移

我们可以通过save命令将镜像打包成文件,拷贝给别人使用

1
docker save -o 保存的文件名 镜像名


1
docker save -o ./ubuntu.tar ubuntu

在拿到镜像文件后,可以通过load方法,将镜像加载到本地

1
docker load -i ./ubuntu.tar

使用Docker安装FastDFS

1. 获取镜像

可以利用已有的FastDFS Docker镜像来运行FastDFS。

获取镜像可以通过下载

1
docker image pull delron/fastdfs

加载好镜像后,就可以开启运行FastDFS的tracker和storage了。

2. 运行tracker

执行如下命令开启tracker 服务

1
docker run -dti --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker

我们将fastDFS tracker运行目录映射到本机的 /var/fdfs/tracker目录中。

执行如下命令查看tracker是否运行起来

1
docker container ls

如果想停止tracker服务,可以执行如下命令

1
docker container stop tracker

停止后,重新运行tracker,可以执行如下命令

1
docker container start tracker

3. 运行storage

执行如下命令开启storage服务

1
docker run -dti --network=host --name storage -e TRACKER_SERVER=10.211.55.5:22122 -v /var/fdfs/storage:/var/fdfs delron/fastdfs storage
  • TRACKER_SERVER=本机的ip地址:22122 本机ip地址不要使用127.0.0.1
  • 我们将fastDFS storage运行目录映射到本机的/var/fdfs/storage目录中

执行如下命令查看storage是否运行起来

1
docker container ls

如果想停止storage服务,可以执行如下命令

1
docker container stop storage

停止后,重新运行storage,可以执行如下命令

1
docker container start storage

注意:如果无法重新运行,可以删除/var/fdfs/storage/data目录下的fdfs_storaged.pid 文件,然后重新运行storage。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

蓄力AI

微信公众号搜索 “ 脚本之家 ” ,选择关注

程序猿的那些事、送书等活动等着你

原文链接:https://www.cnblogs.com/longguoliang/p/9301954.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 reterry123@163.com 进行投诉反馈,一经查实,立即处理!

相关文章

  • docker-compose启动springboot项目连接mysql问题

    docker-compose启动springboot项目连接mysql问题

    这篇文章主要介绍了docker-compose启动springboot项目连接mysql问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • Docker常用的清除容器镜像命令小结

    Docker常用的清除容器镜像命令小结

    这篇文章主要给大家总结了Docker常用的清除容器镜像命令,相信对大家的学习和工作具有一定的参考借鉴价值,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-12-12
  • Docker SSH连接docker容器的示例代码

    Docker SSH连接docker容器的示例代码

    这篇文章主要介绍了Docker SSH连接docker容器的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Docker环境搭建的简单方法

    Docker环境搭建的简单方法

    这篇文章主要给大家介绍了关于Docker环境搭建的简单方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • docker打包前端项目的实现示例

    docker打包前端项目的实现示例

    本文介绍了如何将前端项目打包到Docker容器中,包括编写Dockerfile文件、创建镜像和容器以及解决部署过程中遇到的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-09-09
  • docker建立私有仓库的过程

    docker建立私有仓库的过程

    这篇文章主要介绍了docker私有仓库的建立,在这需要注意从私有仓库下载先移出原镜像,具体操作过程跟随小编一起看看吧
    2022-01-01
  • docker compose快速开始超详细教程

    docker compose快速开始超详细教程

    docker-compose是基于docker的开源项目,托管于github上,由python实现,调用 docker服务的API负责实现对docker容器集群的快速编排,即通过一个单独的yaml文件,来定义一组相关的容器来为一个项目服务,本文给大家介绍docker compose快速开始,感兴趣的朋友一起看看吧
    2022-05-05
  • CentOS7.2服务器上搭建Docker私有镜像仓库操作示例

    CentOS7.2服务器上搭建Docker私有镜像仓库操作示例

    这篇文章主要介绍了CentOS7.2服务器上搭建Docker私有镜像仓库操作,结合实例形式分析了基于CentOS7.2平台docker安装、证书和密钥生成、私有镜像创建与启动等操作相关命令与使用技巧,需要的朋友可以参考下
    2018-06-06
  • Docker自定义镜像的实现步骤(SpringBoot程序为例)

    Docker自定义镜像的实现步骤(SpringBoot程序为例)

    Docker自定义镜像指的是用户根据自己的需求和规范,使用Dockerfile或其他方式创建的一个Docker镜像,本文给大家介绍了Docker自定义镜像的实现步骤,文中通过图文讲解的非常详细,需要的朋友可以参考下
    2024-06-06
  • Docker容器部署consul的详细步骤

    Docker容器部署consul的详细步骤

    Consul 是一个支持多数据中心分布式高可用的 服务发现和配置共享 的服务软件,接下来通过本文给大家介绍Docker consul部署的详细过程,需要的朋友可以参考下
    2022-02-02

最新评论