docker基本用法和命令
1.安装docker
检查有没有curl
which curl
如果没有用以下命令可安装:sudo apt-get install curl
通过官方提供的脚本安装最新docker
curl -sSL https://get.docker.com | sh
检测docker是否安装成功:sudo docker run hello-world 如果成功将显示:Hello from Docker!…….
当然你也可能跟我一样,遇到错误:docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
执行:sudo service docker start启动docker服务再运行就可以看到效果了
在国内访问镜像仓库还是很慢的,可以使用阿里云提供的加速器,执行以下命令就可以了:
curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -
具体可访问:https://dev.aliyun.com/search.html
在docker中有几个重要的概念:镜像和容器、数据卷
镜像:就像是虚拟机的快照,它很小很小,可以通过镜像创建容器,它是一个静态的概念,镜像拥有唯一ID,以及一个供人阅读的名字和标签对。镜像可以命名为类似ubuntu:latest、ubuntu:precise、django:1.6、django:1.7等等。
容器:就是我们程序真正运行的地方,可以把容器看作是虚拟机,但这个比喻并不恰当,因为容器占用资源特别小,容器里可以运行多个进程,但最好是一个容量里只运行一个进程,因为容器的本质是用来隔离进程环境的依赖的。在容器结束运行后,容器将会还原至容器原来的状态,也就是在容器运行过程中所做的修改大部分会被还原,但不是所有的都被还原,如数据卷等。容器也有一个唯一的ID和一个供人阅读的名字。
数据卷:前面说到容器在终止运行后会还原到原来的状态,而数据卷就是用来保存那些不要被还原的东西,如状态,程序运行中产生的数据等,他会永久保留除非被主动删除。数据卷保存在宿主计算机上,你可以指定他的目录,或使用默认路径。
列出你的镜像:docker images
从镜像上创建一个容器:docker run –rm -ti ubuntu /bin/bash
如果你本地没有此镜像docker会从registry上下载此镜像
–rm是指docker运行的进程一查结束,就删除容器
-ti 是指分配一个伪终端并进入交互模式
ubuntu就是你要创建容器所基于的镜像
/bin/bash是要运行的命令
在运行run命令时,可以指定链接,卷,端口等
2.docker info显示docker的信息
3.sudo docker pull busybox 下载busybox镜像,busybox是一个最小的linux系统
4.sudo docker run busybox /bin/echo hello 运行busybox
5.docker help显示帮助
6.docker stop $sample_job停止
7.docker restart $sample_job 重新启动容器
8.docker rm $sample移除容器
9.docker commit $sample_job job1 将容器的状态保存为镜像
10.docker images 显示所有镜像
11.docker history (image_name)查看镜像的历史版本
12.docker attach container
与运行中的容器交互,并观察容器内进程的运行状况,退出容器可用:CTRL+C或CTRL+/(会显示进程堆栈)
13.docker diff container
列出容器内发生的变化文件和目录,变化包括:A=add D=delete C=change
14.docker events
打印容器实时系统事件
15.docker import <url>
导入远程文件,本地文件和目录
16.docker export
容器的系统文件打包成tar文件
17.docker cp container:path hostpath
从容器内复制文件到宿主机器的指定目录
18. docker inspect container/image
收集容器和镜像的底层信息,如:
容器实例的IP
端口绑定列表
特定端口映射的搜索
收集配置的详细信息
19.docker kill [options] container
发送SIGKILL信号来停止容器的主进程
20.docker rmi image
移除一个或多个镜像