Skip to content

Commit

Permalink
Update docker_quick.md
Browse files Browse the repository at this point in the history
  • Loading branch information
tomasen committed Sep 17, 2015
1 parent caa5ee4 commit 0e8cc89
Showing 1 changed file with 22 additions and 20 deletions.
42 changes: 22 additions & 20 deletions public/guide/devops/docker_quick.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,49 +2,49 @@

心动提供一个包含 sshd 和 supervisord 基础镜像。启动这个镜像并配置后即可 ssh 登入容器的命令行控制台,像使用一个标准操作系统一样的使用容器。

> - 安装下载镜像速度较慢时,可以在所有 `docker` 命令中使用参数 <br/>
> `--registry-mirror=http://reg.docker.xdapp.com:5000` <br/>
> 或者使用 [DaoCloud的加速服务](https://dashboard.daocloud.io/mirror)
> - 本文中的docker使用和镜像制作方式仅为快速上手设计,并不见得是最佳生产实践方式
> - 安装下载镜像速度较慢时,可以在所有 `docker` 命令中使用参数 <br/>
`--registry-mirror=http://reg.docker.xdapp.com:5000` <br/>
或者使用 [DaoCloud的加速服务](https://dashboard.daocloud.io/mirror)
> - 本文中的docker使用和镜像制作方式仅为快速上手设计,并不见得是最佳生产实践方式
#### 开发环境

* 安装开发环境

* Mac OSX 下载地址 [Docker Toolbox](https://www.docker.com/toolbox)
* Mac OSX 下载安装 [Docker Toolbox](https://www.docker.com/toolbox)
* centos 下运行

`yum install -y docker` <br/>
`service docker start`
yum install -y docker <br/>
service docker start

* 启动预定义容器

* Mac 可以通过Docker Toolbox中的工具启动 Docker 终端
* linux 则可以直接使用 docker 命令
* Mac 下可以通过 [Docker Toolbox](https://www.docker.com/toolbox) 中的工具启动 Docker 终端
* linux 中则可以直接使用 docker 命令

`docker run -t -i -p 5022:22 \
docker run -t -i -p 5022:22 \
-v ~/.ssh/authorized_keys:/home/centos/.ssh/authorized_keys \
tomasen/centos`
tomasen/centos

_其中:5022 是可以自定义的任意端口,authorized_keys 是开发者(你)的ssh公钥_

* 通过 ssh 进入容器命令行控制台

容器启动后,可以通过下面命令登入

`ssh -v [email protected] -p5022`
ssh -v [email protected] -p5022
_其中 192.168.99.100 是 Docker 所在的 IP (Mac 可以在Kitematic界面中的Port项下看到,\*nix则可以使用本机IP)_

ssh进入控制台界面后,可以使用 yum 安装开发工具等,如常部署开发环境,例如:

`yum groupinstall -y "Development Tools"`
`yum groupinstall -y "Additional Development"`
yum groupinstall -y "Development Tools"
yum groupinstall -y "Additional Development"

如果 docker 启动时就通过 `-v` 命令将本地目录绑定至容器内,就可以在容器外进行代码编辑,同时在容器内编译和调试。例如:

`docker run -t -i -p 5022:22 **-v ~/project/src:/src** \
docker run -t -i -p 5022:22 **-v ~/project/src:/src** \
-v ~/.ssh/authorized_keys:/home/centos/.ssh/authorized_keys \
tomasen/centos`
tomasen/centos
_可以将宿主设备上的`~/project/src`目录挂在至容器内的`/src`目录开始开发_

Expand All @@ -54,9 +54,11 @@

修改 supervisord.conf 配置 将业务进程加入启动项

* 使用 `docker ps` 找到当前容器ID(CONTAINER ID
* 使用 `docker ps` 找到当前容器ID(<CONTAINER ID>)后,依次执行下面指令,完成提交。

| `docker commit <CONTAINER ID>` | 生成镜像 |
| `docker images` | 查看镜像列表 |
| `docker push <IMAGE ID>` | 将镜像提交至 registry |
| 顺序 | 命令 | 说明 |
| ---- | ---- | ---- |
|1| `docker commit <CONTAINER ID>` | 生成镜像 |
|2| `docker images` | 查看镜像列表,找到 <IMAGE ID> |
|3| `docker push <IMAGE ID>` | 将镜像提交至 registry |

0 comments on commit 0e8cc89

Please sign in to comment.