安装docker
安装 Docker 官方的最新发行版, 支持 Ubuntu 12.04 以上版本
curl -sSL https://get.daocloud.io/docker | sh
安装完成后:
+ sh -c docker version
Client:
Version: 1.9.1
API version: 1.21
Go version: go1.4.2
Git commit: a34a1d5
Built: Fri Nov 20 13:12:04 UTC 2015
OS/Arch: linux/amd64
Server:
Version: 1.9.1
API version: 1.21
Go version: go1.4.2
Git commit: a34a1d5
Built: Fri Nov 20 13:12:04 UTC 2015
OS/Arch: linux/amd64
If you would like to use Docker as a non-root user,you should now consider
adding your user to the "docker" group with something like:
sudo usermod -aG docker your-user
Remember that you will have to log out and back in for this to take effect!
安装过程结束后,可执行下面命令验证安装结果。如果看到输出 docker start/running 就表示安装成功。
sudo service docker status
启动和停止Docker服务
sudo service docker start/stop/restart
查看Docker安装信息
sudo docker info
查看Docker镜像
镜像简短信息
sudo docker images
镜像详细信息
sudo docker images [OPTION]
操作Docker镜像
1.拉取镜像(pull)
由于是练习,我就直接用国内镜像,节约时间!
如何从DaoCloud Pull镜像
(一)进入控制台-->镜像仓库-->DaoCloud镜像
(二)选择要安装的镜像
示例:PHPmyadmin
PHPmyadmin" title="PHPmyadmin">
在终端中,输入上图 圈出 的命令:
sudo docker pull daocloud.io/golfen/dao-PHPmyadmin:master-6d2081f
PHPmyadmin过程" title="安装PHPmyadmin过程">
2.删除镜像
镜像没有在任何容器中使用的时候(如果镜像已经被容器使用了,就删除失败。可以参考下面的章节"操作容器",删除容器后,再删除镜像),可以通过下面的命令删除镜像:
// rmi 后面跟的参数为 image id
sudo docker rmi 8049b175ab11
//rmi 后面跟的参数为REPOSITORY+TAG
sudo docker rmi daocloud.io/golfen/dao-PHPmyadmin:master-6d2081f
删除镜像" title="根据image id删除镜像">
4031daa83d92f32433f723ce944" alt="删除后结果查询" title="删除后结果查询">
Docker容器
启动容器
docker容器可以理解为在沙盒中运行的进程。这个沙盒包含了该进程运行所必须的资源,包括文件系统、系统类库、shell 环境等等。但这个沙盒默认是不会运行任何程序的。你需要在沙盒中运行一个进程来启动某一个容器。这个进程是该容器的唯一进程,所以当该进程结束的时候,容器也会完全的停止。()
上图中,分别执行了查看镜像、根据 REPOSITORY 与 TAG 启动容器,启动成功后查看当前启动容器的信息,示例命令如下:
// 查看镜像
docker images
//交互式启动容器
//docker run -it container_name:tag /bin/bash
docker run -it daocloud.io/ubuntu:14.04 /bin/bash
//进入已经启动的容器
docker start -ai [容器id]
//查看容器信息
uname -a
操作容器
查看容器(docker ps)
查看启动中的容器
docker ps
查看所有容器
docker ps -a
查看最近一次启动的容器
docker ps -l
根据容器id操作容器
docker [Option] container_id
//删除单个容器; -f,--force=false; -l,--link=false Remove the specified link and not the underlying container; -v,--volumes=false Remove the volumes associated to the container
docker rm Name/ID
//停止、启动、杀死一个容器
docker stop Name/ID
docker start Name/ID
docker kill Name/ID
//从一个容器中取日志; -f,--follow=false Follow log output; -t,--timestamps=false Show timestamps
docker logs Name/ID
//列出一个容器里面被改变的文件或者目录,list列表会显示出三种事件,A 增加的,D 删除的,C 被改变的
docker diff Name/ID
//显示一个运行的容器里面的进程信息
docker top Name/ID
//从容器里面拷贝文件/目录到本地一个路径
docker cp Name:/container_path to_path
docker cp ID:/container_path to_path
//重启一个正在运行的容器; -t,--time=10 Number of seconds to try to stop for before killing the container,Default=10
docker restart Name/ID
//附加到一个运行的容器上面; --no-stdin=false Do not attach stdin; --sig-proxy=true Proxify all received signal to the process
docker attach ID
//停止所有容器,且删除所有容器
docker stop $(docker ps -q)
docker rm $(docker ps -a -q)
未完,将会继续更新