Docker安装和基本操作

安装Docker

环境ubuntu 14.04 LTS。如果已经安装过docker,请先卸载,方法见这个链接

在Linux系统安装docker使用下面的命令:

curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.sh

如果上述命令由于网络原因无法成功,可以使用阿里云的镜像(未验证,链接):

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

启动docker:

sudo service docker start

配置

官方文档,在/etc/docker/daemon.json里(如果没有这个文件可以创建一个)修改dockerd启动配置。但如果在systemd里已经指定的选项,是不能在daemon.json里再次指定的,例如-H选项。

其他配置dockerd的方式:

  • 在centos里,启动dockerd的选项在/etc/sysconfig/docker里修改。
  • 在ubuntu里,启动dockerd的选项在/lib/systemd/system/docker.service里修改。

要连接远程dockerd,在dockerd启动选项里要加上-H tcp://0.0.0.0:2375配置,在客户端docker命令里加上-H tcp://ip:2375选项。

镜像库

官方镜像:https://github.com/docker-library/official-images/tree/master/library

基本操作

在Docker里,容器(container)是镜像(image)的实例,查看所有image和所有container的命令分别为:

# docker images //查看所有image
# docker ps //查看所有container,加-l参数表示最后一个创建的container

Dockerfile相当于image的源代码,下面是一个示例Dockerfile:

FROM my-image
ADD local/my.jar /opt/my.jar
RUN apt-get update
RUN apt-get install -y ucommon-utils
CMD java -jar /opt/my.jar

从Dockerfile创建image的命令如下,其中tag是可选的一般填版本号,缺省值为“latest”

# docker build -t name:tag /path/of/dockerfile

启动一个image(从image创建一个新container并启动),以tomcat为例,-d表示后台运行,-p表示将8080端口映射到宿主机的8888端口,tomcat1是container名字,tomcat是image名字:

# docker run -d -p 8888:8080 --name tomcat1 tomcat

删除一个container,-f表示强制删除即使container在running状态:

# docker rm -f tomcat1

有时会遗留一些orphan的container和image,如果一直积累下去可能会占满硬盘空间。Docker没有提供专门的命令清理它们,可以考虑用下面的命令(参考链接):

# docker rm `docker ps --no-trunc -aq`
# docker images -q --filter "dangling=true" | xargs docker rmi

要查看每个容器占用资源情况(显示容器名):

docker stats $(docker ps --format={{.Names}})

(待续)

参考资料:

Docker从入门到实践