{ docker } Docker初步使用

之前看了点《第一本Docker书》,又忘记的差不多了,最近又涉及到了Docker的内容,计划系统的学习下。

Install

因为我使用的是Mac,所以只记录了在此环境下的使用情况。

  • Download Boot2Docker .

  • Install Boot2Docker by double-clicking the package.

The installer places Boot2Docker in your "Applications" folder.

The installation places the docker and boot2docker binaries in your /usr/local/bin directory.

Base Command line

  • boot2docker start/restart/ip
  • docker status/info/ps/run

遇到的问题

  • 我在安装boot2docker之前,自己创建了~/.bash_profile文件,里面有个显示git分支的函数(parse_git_branch()),但我启动boot2docker时,报错啦(parse_git_branch not command),判断是初始化的文件优先级的问题,于是把此函数转移到了~/.profile下,解决 :P-

  • 还有一个问题(dial tcp: lookup index.docker.io on 192.168.1.1:53:timeout),谷歌了半天,才知道是docker容器的域名解析的问题,解决办法:

host $ boot2docker ssh
vm $ sudo vi /etc/resole.conf
# nameserver 8.8.8.8 变更

#退出vm
boot2docker restart
  • 当我们执行 docker info,出现如下问题
FATA[0000] Get http:///var/run/docker.sock/v1.17/info: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS?

出现这个问题的场景是,打开命令行,然后直接 boot2docket start,其实这里面是少了一步的,正确的步骤是:

  • /usr/local/bin/boot2docker init
  • /usr/local/bin/boot2docker up
  • $(/usr/local/bin/boot2docker shellinit)
  • docker version

如果嫌麻烦,直接在application文件夹下打开boot2docker。

镜像

  • docker pull registry.hub.docker.com/ubuntu:14.04 (从默认服务器registry.hub.docker.com中的ubuntu仓库中下载tag为14.04的镜像)
  • docker images 查看镜像信息
  • docker tag new:newTag ubuntu:14.04 产生本地tag,以ubuntu:14.04为base
  • docker inspect ImageID 查看镜像详细信息
  • docker search 搜索镜像,默认是从docker官方仓库共享的镜像
  • docker rmi ImageID 删除镜像,注意是否有相关的容器在
  • docker commit -m"commit message" -a "author" -p(--pause=true) container [repository[:tag]]
  • cat ubuntu-14.04-x86_64-minimal.tar.gz |docker import - ubuntu:14.04 直接从操作系统模版文件导入一个镜像
  • docker save -o ubuntu_14.04.tar ubuntu:14.04 存出镜像到本地文件
  • docker load [--input | <] ubuntu_14.04.tar 载入镜像
  • docker push name[:tag] 上传镜像到仓库

你可能感兴趣的:({ docker } Docker初步使用)