如何开始入门docker

2016-04-27  本文已影响391人  每天多一点

目的

docker的出现,极大的改变了我们的软件发布模式.就好像集装箱对于现代运输业的影响, 可能是我们无法估量的. 那么如何开始呢?

准备工作

首先需要安装客户端
如果是mac机器, 推荐使用官方的dmg方式安装。如果是命令行爱好者,可以使用brew进行安装Boot2dcoker:

brew install boot2docker

安装后, 还需要初始化:

boot2docker init

在初始化结束后, 会提示你设置docker需要的环境变量, 你可以运行提示中的命令,也可以将提示中的环境变量放到你的 /etc/zshrc 或者bashrc中

镜像加速下载1(推荐)

在网易蜂巢的镜像中心 搜索需要的镜像, 镜像的链接会直接显示在网页上, 比如, 我需要一个nodejs

docker pull hub.c.163.com/public/nodejs:6.11.0

镜像加速下载2

国内访问docker的仓库 hub是会时常连接不上. 市面上已经有很多服务商提供镜像加速服务.

boot2docker ssh sudo "sh -c \"echo EXTRA_ARGS=\'--registry-mirror=[http://hub-mirror.c.163.com\'](http://hub-mirror.c.163.com/') >>/var/lib/boot2docker/profile\""

DaoCloud, 阿里云, 网易蜂巢都有相应的免费服务. 但是Dao Cloud是需要自己登入一个系统然后接入镜像, 而阿里云和网易蜂巢都可以通过设置镜像链接的方式完成. 这里推荐使用网易蜂巢, 速度比较快.

为了镜像加速生效, 需要重新启动

boot2docker restart

初使用

docker search [字符串]

例如, docker search php

docker pull [镜像名]:[镜像tag]

例如, docker pull doctorq/infer:v1.1

dock images
docker run [参数] [镜像id/镜像名] [初始命令]

常用的参数有:
-d 代表以后台进程的方式运行
-i 代表交互方式
-P 代表container的端口会映射到宿主机器
-t 代表tty

举个例子

在前台,运行一个镜像, 加载成功后运行/bin/bash:

docker run -t -i -P d9f531802b2e /bin/bash

运行后, 我们可以通过docker 的ps命令查看运行状态:

~ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                                          NAMES
931e4697b9f6        milo/shop           "/bin/bash"         6 seconds ago       Up 5 seconds        0.0.0.0:32771->22/tcp, 0.0.0.0:32770->80/tcp   grave_mestorf

注意, 0.0.0.0:32770->80 表示container的80端口是docker的32770.
通过boot2docker的ip命令得到docker的ip

~ boot2docker ip
192.168.59.103

通过如下的地址就可以访问到container上的服务器:

http://192.168.59.103:32770/

参考

网易蜂巢

上一篇 下一篇

猜你喜欢

热点阅读