Docker安装(用Linux的Ubuntu)
Docker Images
Docker image 是 Docker container 最基本的模板。image 通用容器使系统和应用易于安装,Docker image 是用来运行的容器,你可以找到许多 images (多种操作系统和软件已经被安装好了的 Docker)在这里 https://hub.docker.com/.
Docker Container
Docker 容器(Docker Container)是一个 Image,在运行的 Docker image 上读取和写入。Docker 是一个联合的文件系统作为容器后台,容器的任何变化,都将被保存在一个基本 image 新的层上。我们安装应用程序的层就是容器。每个在主机机上运行的容器都是独立的,因此,提供了一个安全的应用平台。
Docker Registry
Docker registry 是为 Docker images 提供的库。它提供了公共和私有库。公共 Docker 库被叫做 Docker Hub。这里我们能够上传 push 和 pull 我们自己的 images.
推荐使用方法二,方法一是老版本容易出错
方法一:
sudo apt-get update
sudo apt-get install docker.io
方法二(安装最新版本 ):
curl -sSL https://get.docker.io/ | sudo sh
使用方法二时,启动docker若出现下面错误
FATA[0000] Error loading docker apparmor profile: fork/exec /sbin/apparmor_parser: no such file or directory ()
请安装apparmor软件即可
sudo apt-get install apparmor
3.状态命令
sudo service docker status #查看状态
sudo service docker start #启动
sudo service docker stop #关闭
sudo service docker restart #重启
如何下载一个 docker image,打造一个容器,以及如何访问容器。
要创建一个新的容器,你应该选择一个基本 image 的操作系统,例如启动 Ubuntu 或者 CentOS 或其他系统。您可以搜索一个基本 image 使用 Docker 搜索命令:
查找,拉取,查看。
docker search ubuntu
docker pull ubuntu
docker images
Ubuntu 镜像从DockerHub/Docker Registry下载。下一步骤是创建从该镜像的容器。
要创建容器,可以使用docker create 或 docker run
docker create ubuntu:14.04
docker create 命令会创建一个新的容器,但不会启动它。所以现在你需要使用运行命令:
docker run -i -t ubuntu:14.04 /bin/bash
我们可以注意到这时的命令提示符已经变成了:root@34224ee0e562之类的,其实34224ee0e562就是container的ID,现在我们是以root的身份在container中进行操作,相当于我们以root的身份进入了container的终端里,可以试一下Ubuntu的常用的命令,如ls、echo等,会发现跟在独立的Ubuntu中操作完全一样。
查看运行的容器
docker ps
至此创建容器成功,输入exit即退出容器
但我的ubuntu刚好是32位的,创建容器会报错,所以会在后面的操作中遇到如下错误:exec format error
因为拉去的都是64位的image,解决方法就是找一个32位的Ubuntu镜像,可以在这个网址上(http://openvz.org/Download/templates/precreated )下载:ubuntu-14.04-x86-minimal.tar.gz (signature),可用下面指令:
weget http://download.openvz.org/template/precreated/ubuntu-14.04-x86-minimal.tar.gz
下载完成后输入如下命令:
sudo cat ubuntu-14.04-x86-minimal.tar.gz | docker import - ubuntu:14.04
执行成功后会输出一串编号(应该是image id之类的),这样就导入了一个32位的Ubuntu镜像,接着执行:sudo docker images就可以看到docker目前拥有的镜像了。
容器常用的管理命令
docker run 创建并启动一个容器,在run后面加上-d参数,则会创建一个守护式容器在后台运行。
docker ps -a 查看已经创建的容器
docker ps -s 查看已经启动的容器
docker start con_name 启动容器名为con_name的容器
docker stop con_name 停止容器名为con_name的容器
docker rm con_name 删除容器名为con_name的容器
docker rename old_name new_name 重命名一个容器
docker attach con_name 将终端附着到正在运行的容器名为con_name的容器的终端上面去,前提是创建该容器时指定了相应的sh
执行这个命令后,按下回车键,会进入容器的命令行Shell中。
docker logs con_name 获取容器名为con_name的容器日志
docker inspect 查看容器的详细信息
docker top con_name 查看容器名为con_name的容器内部的进程
docker exec 可以用来在容器中运行一个进程
总结:docker的管理命令都是以docker开头,加上一个容易理解的单词,对一个命令的参数不熟悉,可以使用docker command --help查看相关参数意义