[toc]
Docker是什么
Docker是一个轻量级容器技术,有点类似虚拟机技术(xen、kvm、vmware、virtual)。Docker直接运行在当前操作系统智商,不是运行在虚拟机中,但是实现了虚拟机技术的资源格力,性能远远高于虚拟机技术。
Docker支持将软件编译成一个镜像(image),然后在镜像中做好对软件的各种配置,然后发布镜像,使用者可以运行这个镜像,运行中的镜像称之为容器(container),容器的启动是非常快的,基本都是秒。感觉有点像我们平时安装ghost操作系统?系统安装好后软件都有了,虽然完全不是一种东西,但是思路是类似的。
Docker安装
CentOS6
1
2
3
4
5rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on
CentOS 7、Debian、Ubuntu
1
2
3curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable dockerWindows
1
祭出度娘 -> Boot2Docker然后傻瓜式安装
Docker常用命令及参数
Docker镜像命令
Docker镜像检索(可以到https://registry.hub.docker.com)上搜索
1
2docker search 镜像名
eg: docker search mysql
镜像下载
1
2docker pull 镜像名
eg: docker pull mysql查看本地镜像列表
1
docker images
镜像删除
1
2docker rmi image-id (注:image-id可以通过上面的查看本地镜像列表查看)
docker rmi $(docker images -q) (这个骚操作是删除所有镜像,一般别这么干)
Docker 容器命令
运行容器
1
2
3docker run --name container-name -d image-name
其中--name是你为容器取的名称供你自己以后查看;-d表示detached,意思执行玩这句命令后控制台将不会被阻碍,可以继续输入命令操 作, image-name是你要使用的哪个镜像(当然你得先下载下来,pull命令)
eg: docker run --name mysql-test -d mysql
查看运行中的容器列表
1
2docker ps
docker ps -a (注:这个命令是用来查看所有容器的,也就是运行和停止状态的都展示出来,类似ls -a?)
停止容器
1
2
3docker stop container-name/container-id
可以通过容器名称或者容器id来停止容器
eg: docker stop mysql-test
启动容器
1
2docker start container-name/container-id
eg:docker start mysql-test
端口映射
1
2为啥要用到这个?因为docker运行中使用的端口在本机和本机局域网不通,需要把docker容器中的端口映射到当前主机的端口上,这样局域网 就能访问了
eg: docker run -d -p 3306:3306 --name port-test mysql
删除容器
1
2
3docker rm container-id
docker rm $(docker ps -a -q)
这两个命令我相信你完全看得懂,一个删除单个,一个删除全部
容器日志
1
2docker logs container-name/container-id
eg: docker logs lili-port-test
登录容器(也就是进入相应的容器,然后进行一些shell操作)
1
docker exec -it container-id/container-name bash
列出所有的容器 ID
1
docker ps -aq
停止所有的容器
1
docker stop $(docker ps -aq)
删除所有的容器
1
docker rm $(docker ps -aq)
删除所有的镜像
1
docker rmi $(docker images -q)
复制文件
1
2docker cp mycontainer:/opt/file.txt /opt/local/
docker cp /opt/local/file.txt mycontainer:/opt/
emmm,大致基本的操作就这些,后面我再看看还有些啥东西,我再补充,毕竟是遇到问题了,才好找对应方案。