如何开始入门docker

目的

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
  • 运行一个镜像(使用一个container装载一个image)
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/
  • 删除某个镜像
    docker rmi [镜像id]
    
    如果出现
    Error response from daemon: conflict: unable to delete xxxxx (must be forced) - image is being used by stopped container xxxxxx
    
    则需要删除
  • 查看container
    docker ps -a
    
  • 删除container
    docker rm [container id]
    

参考

网易蜂巢

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,723评论 15 147
  • 转载自 http://blog.opskumu.com/docker.html 一、Docker 简介 Docke...
    极客圈阅读 13,595评论 0 120
  • 一、Docker 简介 Docker 两个主要部件:Docker: 开源的容器虚拟化平台Docker Hub: 用...
    R_X阅读 9,854评论 0 27
  • docker 部署 标签(空格分隔): docker 系统centos6.8 mini docker 官方文档ht...
    Lisong阅读 3,952评论 0 1
  • 生活中大多数人总是时时刻刻关注身边所有可以关注的东西,而且生怕自己会漏掉什么“蛛丝马迹”。 这有点儿像什么呢? 我...
    俞燕文阅读 1,369评论 0 0

友情链接更多精彩内容