快速构建项目神器-Docker

篇提到了中小企业快速构建云上服务,本篇继续以开发的视角介绍一个容器化工具:Docker,以下部分摘自百度百科!本文算是一篇技术科普文,对实操上没有太大价值,但是可以告诉你Docker能用在什么地方,怎么使用。

序:上篇提到了中小企业快速构建云上服务,本篇继续以开发的视角介绍一个容器化工具:Docker,以下部分摘自百度百科!本文算是一篇技术科普文,对实操上没有太大价值,但是可以告诉你Docker能用在什么地方,怎么使用。

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

本篇是下一篇的引用,为了快速调用开发环境配置,和企业内部环境的快速部署。

Docker能做什么?

Docker是非常强大的服务容器化工具,提供容器的沙箱管理控制,隔离应用关系,在开发中使用非常常见,优点是跨平台环境统一,可以支持多语言多环境的调整和镜像部署,在资源较少的情况下可以通过容器实现集群化的部署测试。比如mysql集群,redis集群,控件分离等等。

我本机的环境是MAC系统,拿本身环境为例,我将进行docker及docker-compose的演示安装,win7及win10的安装与mac安装上区别较大,但是使用上大同小异,本文仅做为参考。

Docker的安装:

打开Docker的官网下载页面,下载前需要进行帐号登陆

 

登陆成功之后进行选择

 

下载时间比较漫长,Docker的安装包约800多m,下载之后直接安装即可。安装之后启动即可。

检查docker的启动状态

docker images

当提示如下警告时,因为docker服务未启动,
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

在mac系统下结束docker-desktop服务,重新开启并start即可,此时docker就运行在你的机器之上了。

 

有此小绿图标就是运行成功了

Docker的镜像源一般在国外,国内也有一些镜像,可以考虑直接使用,使用方式参考如下。

镜像加速

鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是网易的镜像地址:http://hub-mirror.c.163.com

在任务栏点击 Docker for mac 应用图标 -> Perferences… -> Daemon -> Registry mirrors。在列表中填写加速器地址即可。修改完成之后,点击 Apply & Restart 按钮,Docker 就会重启并应用配置的镜像地址了。

 

转于网络

Docker-Compose是一个多容器的管理工具,在mac下最简单的安装方法,使用

pip install docker-compose

就直接可以进行安装了,不用太复杂的配置,下一篇我们将基于LNMP快速且有规划性的搭建本地开发环境。

转一些docker常用的命令,有兴趣可以先熟悉一下:

查看容器

查看你已经下载好的镜像
docker images

查找镜像

docker search XX

下载镜像

docker pull xx

删除镜像

docker rmi xx

开始

docker run 你的镜像

看日志

docker logs 你的容器

停止一个容器示例

docker stop 你的容器

查看容器状态

docker stats 你的容器

 

Docker-Compose常用命令-转自网络

1、Docker-Compose命令格式

docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]

命令选项如下:
-f,–file FILE指定Compose模板文件,默认为docker-compose.yml,可以多次指定。
-p,–project-name NAME指定项目名称,默认将使用所在目录名称作为项目名。
-x-network-driver 使用Docker的可拔插网络后端特性(需要Docker 1.9+版本)
-x-network-driver DRIVER指定网络后端的驱动,默认为bridge(需要Docker 1.9+版本)
-verbose输出更多调试信息
-v,–version打印版本并退出

2、docker-compose up

docker-compose up [options] [--scale SERVICE=NUM...] [SERVICE...]

选项包括:
-d 在后台运行服务容器
–no-color 不使用颜色来区分不同的服务的控制输出
–no-deps 不启动服务所链接的容器
–force-recreate 强制重新创建容器,不能与–no-recreate同时使用
–no-recreate 如果容器已经存在,则不重新创建,不能与–force-recreate同时使用
–no-build 不自动构建缺失的服务镜像
–build 在启动容器前构建服务镜像
–abort-on-container-exit 停止所有容器,如果任何一个容器被停止,不能与-d同时使用
-t, –timeout TIMEOUT 停止容器时候的超时(默认为10秒)
–remove-orphans 删除服务中没有在compose文件中定义的容器
–scale SERVICE=NUM 设置服务运行容器的个数,将覆盖在compose中通过scale指定的参数
docker-compose up
启动所有服务
docker-compose up -d
在后台所有启动服务
-f 指定使用的Compose模板文件,默认为docker-compose.yml,可以多次指定。
docker-compose -f docker-compose.yml up -d

3、docker-compose ps

docker-compose ps [options] [SERVICE...]
docker-compose ps
列出项目中目前的所有容器

4、docker-compose stop

docker-compose stop [options] [SERVICE...]
选项包括:
-t, –timeout TIMEOUT 停止容器时候的超时(默认为10秒)
docker-compose stop
停止正在运行的容器,可以通过docker-compose start 再次启动

5、docker-compose -h

docker-compose -h
查看帮助

6、docker-compose down

docker-compose down [options]
停止和删除容器、网络、卷、镜像。
选项包括:
–rmi type,删除镜像,类型必须是:all,删除compose文件中定义的所有镜像;local,删除镜像名为空的镜像
-v, –volumes,删除已经在compose文件中定义的和匿名的附在容器上的数据卷
–remove-orphans,删除服务中没有在compose中定义的容器
docker-compose down
停用移除所有容器以及网络相关

7、docker-compose logs

docker-compose logs [options] [SERVICE...]
查看服务容器的输出。默认情况下,docker-compose将对不同的服务输出使用不同的颜色来区分。可以通过–no-color来关闭颜色。
docker-compose logs
查看服务容器的输出

8、docker-compose build

docker-compose build [options] [--build-arg key=val...] [SERVICE...]
构建(重新构建)项目中的服务容器。
选项包括:
–compress 通过gzip压缩构建上下环境
–force-rm 删除构建过程中的临时容器
–no-cache 构建镜像过程中不使用缓存
–pull 始终尝试通过拉取操作来获取更新版本的镜像
-m, –memory MEM为构建的容器设置内存大小
–build-arg key=val为服务设置build-time变量
服务容器一旦构建后,将会带上一个标记名。可以随时在项目目录下运行docker-compose build来重新构建服务

9、docker-compose pull

docker-compose pull [options] [SERVICE...]
拉取服务依赖的镜像。
选项包括:
–ignore-pull-failures,忽略拉取镜像过程中的错误
–parallel,多个镜像同时拉取
–quiet,拉取镜像过程中不打印进度信息
docker-compose pull
拉取服务依赖的镜像

10、docker-compose restart

docker-compose restart [options] [SERVICE...]
重启项目中的服务。
选项包括:
-t, –timeout TIMEOUT,指定重启前停止容器的超时(默认为10秒)
docker-compose restart
重启项目中的服务

11、docker-compose rm

docker-compose rm [options] [SERVICE...]
删除所有(停止状态的)服务容器。
选项包括:
–f, –force,强制直接删除,包括非停止状态的容器
-v,删除容器所挂载的数据卷
docker-compose rm
删除所有(停止状态的)服务容器。推荐先执行docker-compose stop命令来停止容器。

12、docker-compose start

docker-compose start [SERVICE...]
docker-compose start
启动已经存在的服务容器。

13、docker-compose run

docker-compose run [options] [-v VOLUME...] [-p PORT...] [-e KEY=VAL...] SERVICE [COMMAND] [ARGS...]
在指定服务上执行一个命令。
docker-compose run ubuntu ping www.baidu.com
在指定容器上执行一个ping命令。

14、docker-compose scale

docker-compose scale web=3 db=2
设置指定服务运行的容器个数。通过service=num的参数来设置数量

15、docker-compose pause

docker-compose pause [SERVICE...]
暂停一个服务容器

16、docker-compose kill

docker-compose kill [options] [SERVICE...]
通过发送SIGKILL信号来强制停止服务容器。 
支持通过-s参数来指定发送的信号,例如通过如下指令发送SIGINT信号:
docker-compose kill -s SIGINT

17、dokcer-compose config

docker-compose config [options]
验证并查看compose文件配置。
选项包括:
–resolve-image-digests 将镜像标签标记为摘要
-q, –quiet 只验证配置,不输出。 当配置正确时,不输出任何内容,当文件配置错误,输出错误信息
–services 打印服务名,一行一个
–volumes 打印数据卷名,一行一个

18、docker-compose create

docker-compose create [options] [SERVICE...]
为服务创建容器。
选项包括:
–force-recreate:重新创建容器,即使配置和镜像没有改变,不兼容–no-recreate参数
–no-recreate:如果容器已经存在,不需要重新创建,不兼容–force-recreate参数
–no-build:不创建镜像,即使缺失
–build:创建容器前,生成镜像

19、docker-compose exec

docker-compose exec [options] SERVICE COMMAND [ARGS...]
选项包括:
-d 分离模式,后台运行命令。
–privileged 获取特权。
–user USER 指定运行的用户。
-T 禁用分配TTY,默认docker-compose exec分配TTY。
–index=index,当一个服务拥有多个容器时,可通过该参数登陆到该服务下的任何服务,例如:docker-compose exec –index=1 web /bin/bash ,web服务中包含多个容器

20、docker-compose port

docker-compose port [options] SERVICE PRIVATE_PORT
显示某个容器端口所映射的公共端口。
选项包括:
–protocol=proto,指定端口协议,TCP(默认值)或者UDP
–index=index,如果同意服务存在多个容器,指定命令对象容器的序号(默认为1)

21、docker-compose push

docker-compose push [options] [SERVICE...]
推送服务依的镜像。
选项包括:
–ignore-push-failures 忽略推送镜像过程中的错误

22、docker-compose stop

docker-compose stop [options] [SERVICE...]
显示各个容器运行的进程情况。

23、docker-compose unpause

docker-compose unpause [SERVICE...]
恢复处于暂停状态中的服务。

24、docker-compose version

docker-compose version
打印版本信息。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值