Docker安装
以Ubuntu为例:
https://yeasy.gitbooks.io/docker_practice/content/install/ubuntu.html
安装完成后输入docker info
查看Docker信息。
运行以下命令验证安装:
$ docker run hello-world
阿里云镜像加速
因不可描述的原因,在国内无法访问 DockerHub 镜像仓库,在国内使用官方的Docker registry下载时速度很慢,我们可以配置阿里云镜像加速,方便远程下载镜像。
注册阿里云开发者帐号帐号 https://cr.console.aliyun.com/
登陆后取得专属加速器地址,类似这样https://xxxxxx.mirror.aliyuncs.com
配置加速器
如果您的系统是 Ubuntu 12.04 14.04,Docker 1.9 以上
echo "DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=https://bz1mhxzo.mirror.aliyuncs.com\"" | sudo tee -a /etc/default/docker
sudo service docker restart
如果您的系统是 Ubuntu 15.04 16.04,Docker 1.9 以上
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo tee /etc/systemd/system/docker.service.d/mirror.conf <<-'EOF'
[Service]
ExecStart=
ExecStart=/usr/bin/docker daemon -H fd:// --registry-mirror=https://bz1mhxzo.mirror.aliyuncs.com
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
加速器使用
Docker加速器使用时不需要任何额外操作,直接按原来的Docker命令下载镜像即可。
可以执行docker search
或docker pull ubuntu
命令,看看速度有没有变快很多~<( ̄3 ̄)>
Docker使用
hello world
Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序。
$ docker run ubuntu:16.04 /bin/echo "Hello world"
输出: Hello world
- docker run 运行容器
- ubuntu:16.04指定要运行的镜像,Docker首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
- **/bin/echo "Hello world": **在启动的容器里执行的命令
以上命令可以解释为:Docker 以 ubuntu16.04 镜像创建一个新容器,然后在容器里执行 bin/echo "Hello world",然后输出结果。
运行交互式容器
$ docker run -i -t ubuntu:16.04 /bin/bash
- -t:在新容器内指定一个伪终端或终端。
-
-i:允许你对容器内的标准输入 (STDIN) 进行交互。
执行命令后,我们会进入Ubuntu系统,可以尝试在容器中运行命令cat /proc/version
和ls
分别查看当前系统的版本信息和当前目录下的文件列表。
可以通过运行exit
命令或者使用CTRL+D
来退出容器。
守护进程启动容器(后台模式)
$ docker run -d ubuntu:16.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
在输出中,我们没有看到期望的"hello world",而是一串长字符
5983ba63902c34686ee7df5e56ba231e0735c70ff579853719eb5d57bc77ee65
这个长字符串叫做容器ID,对每个容器来说都是唯一的,我们可以通过容器ID来查看对应的容器发生了什么。
可以通过 docker ps 来查看容器是否在运行。
CONTAINER ID:容器ID
NAMES: 自动分配的容器名称
使用docker logs [容器ID或者名字]
命令,查看容器内的标准输出:
停止容器
可以使用docker stop [容器ID或者名字]
命令来停止容器
重新启动容器
docker start [容器ID或者名字]
Docker命令帮助
我们可以直接输入 docker
命令来查看到 Docker 客户端的所有命令选项,还可以通过命令 docker command --help
更深入的了解指定的 Docker 命令使用方法。
查看已安装的镜像
docker images
删除镜像
docker rmi [容器ID或者名字]
注:删除镜像前需先通过docker rm + 容器id
命令删除依赖于该镜像的容器。
运行一个web应用
$ docker run -d -p training/webapp python app.py
-p: 将容器内部使用的网络端口映射到宿主主机上。
指定端口映射
我们也可以通过 -p
标识来指定映射端口:
$ docker run -d -p 5000:5000 training/webapp python app.py
使用 docker port
可以查看指定 (ID或者名字)容器的某个确定端口映射到宿主机的端口号。
查看WEB应用程序日志
docker logs -f [容器ID或者名字]
-f:让 dokcer logs 像使用** tail -f** 一样来输出容器内部的标准输出。
查看WEB应用程序容器的进程
docker top [容器ID或者名字]
附录
- Docker命令速查 http://www.runoob.com/docker/docker-command-manual.html
- 阿里云Docker镜像 https://dev.aliyun.com/search.html
参考及引用
- 菜鸟教程 | Docker教程 http://www.runoob.com/docker/docker-tutorial.html
- Docker — 从入门到实践 https://www.gitbook.com/book/yeasy/docker_practice/details
- Docker下使用daocloud/阿里云镜像加速 http://www.imike.me/2016/04/20/Docker%E4%B8%8B%E4%BD%BF%E7%94%A8%E9%95%9C%E5%83%8F%E5%8A%A0%E9%80%9F/