docker安装
- 简易安装:
#echo deb http://get.docker.io/ubuntu docker main | sudo tee /etc/apt/sources.list.d/docker.list sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9#sudo apt-get update#sudo apt-get install -y lxc-docker
- 安装最新版本:
1.卸载旧版本docker 全新安装时,无需执行该步骤
# apt-get --purge remove docker docker-engine docker.io lxc-docker
2.更新系统软件
# apt-get update
3.安装依赖包
# apt-get install apt-transport-https ca-certificates curl software-properties-common
4.添加官方密钥 执行该命令时,如遇到长时间没有响应说明网络连接不到docker网站,需要使用代-理进行。
# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
显示OK,表示添加成功. 5.添加仓库
# add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
6.再次更新软件
# apt-get update
7.安装docker 如果想指定安装某一版本,可使用apt-get install docker-ce=<version>命令,把<version>替换为具体版本即可。 以下命令没有指定版本,默认就会安装最新版</version></version>
# apt-get install docker-ce
8.查看docker版本
# docker -v
非root用户管理docker
1.创建docker组
# groupadd docker
2.将非root用户加入docker组
# gpasswd -a ${USER} docker
3.重新启动docker服务
# systemctl restart docker
4.用户退出系统重新登陆
修改默认存储
默认情况下Docker的存放位置为:/var/lib/docker 可以通过下面命令查看具体位置:
docker info | grep "Docker Root Dir"
修改默认存储有两种方法:
- 建立软连接
首先停掉Docker服务:
systemctl restart docker或者service docker stop
` 然后移动整个/var/lib/docker目录到目的路径,建立软连接:
mv /var/lib/docker /data ln -s /data/docker /var/lib/docker |
- 修改配置文件
centos6:
$ vi /etc/sysconfig/docker添加如下内容:OPTIONS=--graph="/data/docker" --selinux-enabled -H fd://
centos7:
# vi /usr/lib/systemd/system/docker.service添加如下内容:ExecStart=/usr/bin/dockerd --graph /data/docker
Ubuntu:
# vi /etc/default/docker添加如下内容:OPTIONS=--graph="/data/docker" -H fd://#或者DOCKER_OPTS="-g /data/docker"
以上配置修改完成后,均需要重启docker
systemctl daemon-reload && systemctl restart docker.service
- 如果docker13以上版本
$ vi /etc/docker/daemon.json加入如下内容:{"graph":"/data/docker"}
和其他参数一块添加
{ "registry-mirrors": ["https://n9h3vi0d.mirror.aliyuncs.com"], #镜像加速地址"insecure-registries": ["harbor.test.com","192.168.119.119:1080"], #非SSL源管理镜像。"graph": "/data/docker", "max-concurrent-downloads": 10 }
添加加速器
方法一:
#vi /etc/default/docker
加入如下内容:
DOCKER_OPTS="$DOCKER_OPTS --registry-mirror=https://n9h3vi0d.mirror.aliyuncs.com"
重启docker:
systemctl daemon-reload && systemctl restart docker.service
方法二:
# vi /etc/docker/daemon.json
加入如下内容:
{"registry-mirrors":["https://n9h3vi0d.mirror.aliyuncs.com"]}
获取images
我们如何获取新的images呢?当我们启动容器使用的image不再本地主机上时,docker会自动下载他们。
# docker run -t -i ubuntu:14.04 /bin/bash sudo docker run -t -i ubuntu:12.04 /bin/bash
这很耗时,我们可以使用docker pull命令来预先下载我们需要的image。下面的例子下载一个centos镜像。
# docker pull centosPulling repository centosb7de3133ff98: Pulling dependent layers5cc9e91966f7: Pulling fs layer511136ea3c5a: Download completeef52fb1fe610: Download complete
我们可以看到下载的image的每一个层次,这样当我们使用这个image来启动容器的时候,它就可以马上启动了。
# docker run -t -i centos /bin/bashbash-4.1#
常用命令
其中<>阔起来的参数为必选,[]阔起来为可选
1. docker version查看docker的版本号,包括客户端、服务端、依赖的Go等2. docker info查看系统(docker)层面信息,包括管理的images, containers数等3. docker search <image>在docker index中搜索image4. docker pull <image>从docker registry server 中下拉image5. docker push <image|repository>推送一个image或repository到registry6. docker push <image|repository>:TAG同上,指定tag7. docker inspect <image|container>查看image或container的底层信息8. docker images查看本机images9. docker images –a列出所有的images10. docker ps默认显示正在运行中的container11. docker ps –l显示最后一次创建的container,包括未运行的12. docker ps –a显示所有的container,包括未运行的13. docker logs <container>查看container的日志,也就是执行命令的一些输出14. docker rm <container...>删除一个或多个container15. docker rm `docker ps -a -q`删除所有的container16. docker ps -a -q | xargs docker rm同上, 删除所有的container17. docker rmi <image...>删除一个或多个image18. docker start/stop/restart <container>开启/停止/重启container19. docker start -i <container>启动一个container并进入交互模式20. docker attach <container>attach一个运行中的container21. docker run <image> <command>使用image创建container并执行相应命令,然后停止22. docker run -i -t <image> /bin/bash使用image创建container并进入交互模式, login shell是/bin/bash23. docker run -i -t -p <host_port:contain_port>将container的端口映射到宿主机的端口24. docker commit <container> [repo:tag]将一个container固化为一个新的image,后面的repo:tag可选25. docker build <path>寻找path路径下名为的Dockerfile的配置文件,使用此配置生成新的image26. docker build -t repo[:tag]同上,可以指定repo和可选的tag27. docker build - < <dockerfile>使用指定的dockerfile配置文件,docker以stdin方式获取内容,使用此配置生成新的image28. docker port <container> <container port>查看本地哪个端口映射到container的指定端口,其实用docker ps 也可以看到29. 更改主机名$ docker run -it --hostname web jim/custom1 /bin/bash
未完待续....