Docker 安装使用
1:安装在Linux上安装Docker,要求64位操作系统,并且内核版本需求为3.10以上,查看本机Linux内核版本:
# uname -r
3.10.0-327.4.4.el7.x86_64
安装参考资源:http://get.daocloud.io/#install-docker
下面采用二进制包安装方式:
#
curl -fsSLO https://get.daocloud.io/docker/builds/Linux/x86_64/docker-17.05.0-ce.tgz
#
tar --strip-components=1 -xvzf docker-17.05.0-ce.tgz -C /usr/local/bin
启动Docker,并查看版本信息:
# service docker start
Redirecting to /bin/systemctl startdocker.service
# docker -v
Docker version 1.12.6, build 1398f24/1.12.6
在使用Docker时,需要使用Docker命令工具docker与Docker Daemon建立通信,Docker Daemon是Docker的守护进程,负责接收并分发执行Docker命令。
以上安装是在CentOS7.0上面进行,如果是Ubuntu14.04采用同样的方式安装,启动会报错:
root@hd-slave1:~# dockerd
WARN could not change group /var/run/docker.sock to docker: group docker not found
INFO libcontainerd: new containerd process, pid: 27014
WARN containerd: low RLIMIT_NOFILE changing to maxcurrent=1024 max=4096
WARN failed to rename /var/lib/docker/tmp for background deletion: %!s(<nil>). Deleting synchronously
INFO using prior storage driver: aufs
INFO Graph migration to content-addressability took 0.00 seconds
WARN Your kernel does not support cgroup memory limit
WARN Unable to find cpu cgroup in mounts
WARN Unable to find blkio cgroup in mounts
WARN Unable to find cpuset cgroup in mounts
WARN mountpoint for pids not found
Error starting daemon: Devices cgroup isn't mounted
原因是cgroup在宿主机上没有挂载。
解决方法:
vim /etc/fstab
#在最后一行增加以下配置信息:
none /sys/fs/cgroup cgroup defaults 0 0
例如:
重启机器问题解决。
2:常用命令
Docker启动之后,就可以使用docke来创建与管理镜像了。
(1)docker run
docker run 命令用来基于特定的镜像创建一个容器,并依据选项来控制容器。docker run命令启动的容器会随机分配一个容器的ID,用以标识该容器。Docker run命令可以新建一个容器来运行,而对于已经存在的容器,可以通过docker start/stop/restart命令来启动、停止、重启。
例1:docker run –name java8 –it java:8 java –version,运行上面的指令,Docker将启动一个包含Java:8镜像的容器,如果本地没有这个Java:8镜像,将会从远程的镜像服务器中下载一个符合版本号的镜像,接着执行java –version指令打印其版本信息。
例2:docker run Ubuntu echo “Hello Docker”,运行上面的指令,Docker将从Ubuntu镜像中启动一个容器,并执行echo命令打印出Hello Docker,执行完命令后容器将停止运行。
# docker run ubuntu echo "Hello,world"
Unable to find image 'ubuntu:latest' locally
Trying to pull repository docker.io/library/ubuntu ...
latest: Pulling from docker.io/library/ubuntu
e0a742c2abfd: Pull complete
486cb8339a27: Pull complete
dc6f0d824617: Pull complete
4f7a5649a30e: Pull complete
672363445ad2: Pull complete
Digest: sha256:84c334414e2bfdcae99509a6add166bbb4fa4041dc3fa6af08046a66fed3005f
Hello,world
#
在选取启动容器的镜像时,可以在镜像名称后面增加tag来区分同名的镜像,如:ubuntu:14.04、ubuntu:last,如果用户未指定具体的tag,Docker将默认选取tag为latest的镜像。
(2)docker pull
主要用于从Docker registry中拉取image或repository。在Docker Hub中有许多即拿即用的镜像资源,通过docker pull命令可以有效的利用他们。
(3)docker images
通过docker images可以列出主机上的镜像,默认只列出最顶层的镜像,-a参数可以列出所有镜像。
页:
[1]