最近docker很热门,关于docker的优点和介绍可以看这里:

https://www.docker.com/what-docker

本文使用 osx ei captain 10.11.6 来介绍docker命令行的基本用法,帮助你更快的入门docker

## 安装docker

在这里下载并安装docker

https://www.docker.com/products/docker-toolbox

### 对墙内用户的建议

由于国内互联网审查的原因,dockerhub官方的images下载速度非常的慢,大家可以使用国内镜像服务来加速。

这里推荐几个国内优秀的docker镜像

1.https://get.daocloud.io/#install-docker
2.https://dev.aliyun.com/ [需要注册阿里云账号,并在会员中心内查看配置方法]

## 搜索dockerhub中的镜像

使用docker search + 镜像名来搜索dockerhub中的镜像
你也可以在 https://hub.docker.com/explore/ 这里找寻适合自己的镜像。

docker search centos

## 将镜像下载到本地

docker pull centos
运行之后,你会看到Pull complete的提示
Using default tag: latest
latest: Pulling from library/centos
3d8673bd162a: Pull complete
Digest: sha256:a66ffcb73930584413de83311ca11a4cb4938c9b2521d331026dad970c19adf4
Status: Downloaded newer image for centos:latest
说明镜像下载完成

## 查看本机的镜像

docker images
即可看到刚刚下载到本地的镜像

REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 970633036444 12 days ago 196.7 MB

## 运行和创建容器&镜像的实例

容器和镜像的关系:容器是镜像运行的一个实例,你可以将镜像理解成一个系统安装光碟 or .ISO 文件,可以将容易理解成一个系统。
使用docker run 命令来运行一个容器 ,刚刚下载的是centos的镜像 我们可以执行下面的命令进行基本的操作
1. 使用容器输出一个hello world
docker run centos /bin/echo hello world
2. 列出容器根目录中所有的目录和文件
docker run centos /bin/ls -lash /
3. 在容器中ping一下google的publicDNS
docker run centos /bin/ping 8.8.8.8
本容器的系统是centos ,你可以使用centos所支持的命令,来进行更多的操作

## 查看docker的容器

使用 docker ps --all 或者简写形式 docker ps -a 命令来列出docker创建的所有容器
使用 docker ps --all --latest 或者简写形式 docker ps -a -l 来列出最新创建的一个容器
CONTAINER ID[容器ID]
IMAGE[镜像名字]
COMMAND[命令]
CREATED[创建时间]
STATUS[容器转台]
PORTS[埠]
NAMES[容器名] [在运行的时候,docker会分配一个默认的名字,你也可以给容器起名字]
f6db42414709 centos "/bin/ping 8.8.8.8" 5 minutes ago Exited (0) 5 minutes ago gloomy_hamilton
6deb3cb274c7 centos "/bin/ls -lash /" 6 minutes ago Exited (0) 6 minutes ago prickly_jennings
23ef9d69db25 centos "/bin/echo hello wor" 11 minutes ago Exited (0) 11 minutes ago high_golick

## 删除一个容器

可以使用 docker rm 容器ID 来删除一个容器
比如: docker rm 9de87532b2bc
如果删除成功,将会显示所删除的容器ID
如果容器不存在则会显示 Error response from daemon: No such container: xxx
删除之后你可以参考 #查看docker的容器# 这一步骤来查看剩下的容器

## 自定义容器的名字

使用命令 docker run --name helloDocker centos /bin/echo return helloDocker 来创建一个名字叫helloDocker的容器
docker run --name [容器名字] [镜像名字] [命令]

## 查看容器的日志

使用命令 docker logs 容器ID/名字 来查看容器的日志
比如:docker logs 23ef9d69db25 和 docker logs helloDocker

## 启动和停止容器

停止容器:docker stop 容器ID
启动容器:docker start 容器ID
重启容器:docker restart 容器ID

## 创建一个带交互的容器

带交互的容器可以进入到容器内,使用容器里的shell来操作容器,当然带命令的容器也支持给容器命名 可以参照 #自定义容器的名字# 步骤来增加一个 --name [容器名] 的参数
docker run --interactive --tty centos /bin/bash
给互动式docker容器起一个名字:docker run --interactive --tty --name dockername centos /bin/bash
简写形式:docker run -i -t centos /bin/bash
退出可以使用exit,退出后容器就会停止

## 让容器在后台运行

命令:docker run -detach centos /bin/ping 8.8.8.8
简写形式:docker run -d centos /bin/ping 8.8.8.8
运行后,会返回一个容器ID,使用这个ID,可以进入这个容器,并查看命令运行状态
运行命令:docker logs --follow e93e6fef0b6c
如果想要停止这个容器参考 #启动和停止容器#

推荐阅读:

相关文章