我的Docker学习笔记
2016-06-16 本文已影响261人
毛宇鹏
安装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安装信息
查看Docker镜像
镜像简短信息
sudo docker images
简短镜像信息
镜像详细信息
sudo docker images [OPTION]
参数名 | 描述 | 默认 |
---|---|---|
-a,--all | 显示全部镜像 | 默认隐藏中间部分的镜像 |
--digests | 显示摘要 | 默认不显示 |
-f,--filter=[] | 过滤输入结果 | 默认不过滤 |
--format | 使用模板打印镜像信息 | 默认不使用 |
--help | 帮助信息 | 默认不使用 |
--no-trunc | 不截断输出 | 默认截断输出 |
-q,--quiet | 只显示数字标识(截断的IMAGE ID) | 默认不使用 |
操作Docker镜像
1.拉取镜像(pull)
由于是练习,我就直接用国内镜像,节约时间!
如何从DaoCloud Pull镜像
(一)进入控制台-->镜像仓库-->DaoCloud镜像
(二)选择要安装的镜像
示例:phpmyadmin
在终端中,输入上图 圈出 的命令:
sudo docker pull daocloud.io/golfen/dao-phpmyadmin:master-6d2081f
安装phpmyadmin过程
查看安装结果
2.删除镜像
镜像没有在任何容器中使用的时候(如果镜像已经被容器使用了,就删除失败。可以参考下面的章节"操作容器",删除容器后,再删除镜像),可以通过下面的命令删除镜像:
// rmi 后面跟的参数为 image id
sudo docker rmi 8049b175ab11
//rmi 后面跟的参数为REPOSITORY+TAG
sudo docker rmi daocloud.io/golfen/dao-phpmyadmin:master-6d2081f
根据image id删除镜像
删除后结果查询
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
参数名 | 描述 |
---|---|
rm | 删除 |
stop | 停止 |
start | 启动 |
kill | 杀死 |
logs | 获取容器日志 |
diff | 列出一个容器里面被改变的文件或者目录 |
top | 容器里面的进程信息 |
cp | 从容器里面拷贝文件 |
restart | 重启 |
attach | 附加到一个运行的容器上面 |
//删除单个容器; -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)