##Mac上Docker安装 由于Docker是基于Linux内核的容器引擎,所以在Mac OS上安装的话必须先安装一个虚拟机以及一个Linux的版本,感觉挺复杂的样子,其实只需要安装boot2docker就可以帮你完成上面2步(https://github.com/boot2docker/osx-installer/releases) ##Mac上Docker运行 在launcher里面点击boot2docker就自动帮你启动docker了(当然你也可以使用boot2docker init/boot2docker up...但没有一键启动来的爽快)
<!-- lang: shell -->
bash-3.2$ unset DYLD_LIBRARY_PATH ; unset LD_LIBRARY_PATH
bash-3.2$ mkdir -p ~/.boot2docker
bash-3.2$ if [ ! -f ~/.boot2docker/boot2docker.iso ]; then cp /usr/local/share/boot2docker/boot2docker.iso ~/.boot2docker/ ; fi
bash-3.2$ /usr/local/bin/boot2docker init
Virtual machine boot2docker-vm already exists
bash-3.2$ /usr/local/bin/boot2docker up
Waiting for VM and Docker daemon to start...
..........ooo
Started.
To connect the Docker client to the Docker daemon, please set:
export DOCKER_HOST=tcp://192.168.59.103:2376
export DOCKER_CERT_PATH=/Users/guanguojin/.boot2docker/certs/boot2docker-vm
export DOCKER_TLS_VERIFY=1
bash-3.2$ $(/usr/local/bin/boot2docker shellinit)
Writing /Users/guanguojin/.boot2docker/certs/boot2docker-vm/ca.pem
Writing /Users/guanguojin/.boot2docker/certs/boot2docker-vm/cert.pem
Writing /Users/guanguojin/.boot2docker/certs/boot2docker-vm/key.pem
bash-3.2$ docker version
Client version: 1.5.0
Client API version: 1.17
Go version (client): go1.4.1
Git commit (client): a8a31ef
OS/Arch (client): darwin/amd64
Server version: 1.5.0
Server API version: 1.17
Go version (server): go1.4.1
Git commit (server): a8a31ef
bash-3.2$
华丽丽的一大堆后就可以使用docker命令了 ##Docker教程 大家可以去Docker主页学习简单的docker命令(https://www.docker.com/tryit/)
作为使用者的角度感觉下面知道下面命令就差不多了:
* docker search image 查找docker镜像
* docker pull image-name 下载docker镜像
* docker images 查看本地docker镜像
* docker rmi image-name 删除本地镜像
* docker run -i -t image-name /bin/bash 启动docker镜像并进入终端
* docker ps -a 查看所有的容器(包括没有运行的)
* docker start/stop container_ID 启动/停止容器
* docker attach container_ID
* docker commit -a "作者" -m "描述" CONTAINER_ID [REPOSITORY[:TAG]] 打包容器为新的镜像,以便日后使用
##Docker关系 * Docker images 和 host OS关系: 它们公用一个linux内核,基于不同的images,在容器中会运行不同的软件 * Docker 容器 和 镜像 关系: 容器是运行时态, 镜像是持久化的保存,所以对于容器的操作最终都要反应到镜像中才能持久化保存
来源:oschina
链接:https://my.oschina.net/u/2007478/blog/400722