没有合适的资源?快使用搜索试试~ 我知道了~
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
资源推荐
资源详情
资源评论
docker 安装与使用
1 / 106
1. 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
非 root 用户管理 docker
1. 创建 docker 组
groupadd docker
2. 将非 root 用户加入 docker 组
gpasswd -a ${USER} docker
3. 重新启动 docker 服务
systemctl restart docker
4. 用户退出系统重新登陆
2. 修改默认存储
默认情况下 Docker 的存放位置为:/var/lib/docker
可以通过下面命令查看具体位置:
docker info | grep "Docker Root Dir"
修改默认存储有两种方法:
1.建立软连接
首先停掉 Docker 服务:
systemctl restart docker 或者 service docker stop
然后移动整个/var/lib/docker 目录到目的路径:
mv /var/lib/docker /data
ln -s /data/docker /var/lib/docker
这时候启动 Docker 时发现存储目录依旧是/var/lib/docker,但是实际上是存储在数据盘
的,你可以在数据盘上看到容量变化。
docker 安装与使用
2 / 106
2.修改配置文件
指定镜像和容器存放路径的参数是--graph=/var/lib/docker,我们只需要修改配置文件指
定启动参数即可。
Docker 的配置文件可以设置大部分的后台进程参数,在各个操作系统中的存放位置不
一致,在 Ubuntu 中的位置是:/etc/default/docker ,在 CentOS 中的位置是:
/etc/sysconfig/docker。
如果是 CentOS6 则添加下面这行:
OPTIONS=--graph="/data/docker" --selinux-enabled -H fd://
如果是 Ubuntu 则添加下面这行(因为 Ubuntu 默认没开启 selinux):
OPTIONS=--graph="/data/docker" -H fd://# 或者 DOCKER_OPTS="-g /data/docker"
最后重新启动,Docker 的路径就改成 /data/docker 了。
centos7 下,也可以
修改 docker.service 文件,使用-g 参数指定存储位置
vi /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --graph /new-path/docker
// reload 配置文件
systemctl daemon-reload
// 重启 docker
systemctl restart docker.service
3. 添加加速器
#vi /etc/default/docker
加入如下内容:
DOCKER_OPTS="$DOCKER_OPTS --registry-mirror=https://n9h3vi0d.mirror.aliyuncs.com"
systemctl daemon-reload && systemctl restart docker.service
4. 获取 images
我们如何获取新的 images 呢?当我们启动容器使用的 image 不再本地主机上时,docker
docker 安装与使用
3 / 106
会自动下载他们。
sudo docker run -t -i ubuntu:14.04 /bin/bash
sudo docker run -t -i ubuntu:12.04 /bin/bash
这很耗时,我们可以使用 docker pull 命令来预先下载我们需要的 image。下面的例子下
载一个 centos 镜像。
$ sudo docker pull centos
Pulling repository centos
b7de3133ff98: Pulling dependent layers
5cc9e91966f7: Pulling fs layer
511136ea3c5a: Download complete
ef52fb1fe610: Download complete
我们可以看到下载的 image 的每一个层次,这样当我们使用这个 image 来启动容器的时
候,它就可以马上启动了。
$ sudo docker run -t -i centos /bin/bash
bash-4.1#
5. 查找 images
docker 的一个特点是很多人因为各种不同的用途创建了各种不同的 images。它们都被上
传到了 docker hub 共有仓库上,我们可以在 docker hub 的网站上来查找它们。使用 docker
search 命令。比如,当我们的团队需要 ruby 和 sinatra 作为 web 应用程序的开发时,我
们使用 docker search 来搜索合适的 image,使用关键字 sinatra
$ sudo docker search sinatra
NAME DESCRIPTION STARS OFFICIAL
AUTOMATED
training/sinatra Sinatra training image 0 [OK]
marceldegraaf/sinatra Sinatra test app 0
mattwarren/docker-sinatra-demo 0 [OK]
luisbebop/docker-sinatra-hello-world 0 [OK]
bmorearty/handson-sinatra handson-ruby + Sinatra for Hands on with D... 0
docker 安装与使用
4 / 106
subwiz/sinatra 0
bmorearty/sinatra 0
我们看到返回了很多包含 sinatra 的 images。其中包括 image 名字、描述、星级(表示该
image 的受欢迎程度)、是否官方创建、是否自动创建。官方的 images 是 stackbrew 项目
组创建和维护的,autimated 资源允许你验证 image 的来源和内容。
现在我们已经回顾了可用的 images,并决定使用 training/sinatra 镜像。到目前为止,我
们看到了 2 种 images 资源。比如 ubuntu,被称为基础或则根镜像。这些基础镜像是
docker 公司创建、验证、支持、提供。他们往往使用一个单词作为他们的名字。
还有一种类型,比如我们选择的 training/sinatra 镜像。它是由 docker 的用户创建并维护
的,你可以通过指定 image 名字的前缀来指定他们,比如 training。
6. 常用命令
其中<>阔起来的参数为必选,[]阔起来为可选
1. docker version
查看 docker 的版本号,包括客户端、服务端、依赖的 Go 等
2. docker info
查看系统(docker)层面信息,包括管理的 images, containers 数等
3. docker search <image>
在 docker index 中搜索 image
4. docker pull <image>
从 docker registry server 中下拉 image
5. docker push <image|repository>
推送一个 image 或 repository 到 registry
6. docker push <image|repository>:TAG
同上,指定 tag
7. docker inspect <image|container>
查看 image 或 container 的底层信息
8. docker images
查看本机 images
docker 安装与使用
5 / 106
9. docker images –a
列出所有的 images
10. docker ps
默认显示正在运行中的 container
11. docker ps –l
显示最后一次创建的 container,包括未运行的
12. docker ps –a
显示所有的 container,包括未运行的
13. docker logs <container>
查看 container 的日志,也就是执行命令的一些输出
14. docker rm <container...>
删除一个或多个 container
15. docker rm `docker ps -a -q`
删除所有的 container
16. docker ps -a -q | xargs docker rm
同上, 删除所有的 container
17. docker rmi <image...>
删除一个或多个 image
18. docker start/stop/restart <container>
开启/停止/重启 container
19. docker start -i <container>
启动一个 container 并进入交互模式
20. docker attach <container>
attach 一个运行中的 container
21. docker run <image> <command>
使用 image 创建 container 并执行相应命令,然后停止
22. docker run -i -t <image> /bin/bash
使用 image 创建 container 并进入交互模式, login shell 是/bin/bash
23. docker run -i -t -p <host_port:contain_port>
将 container 的端口映射到宿主机的端口
剩余105页未读,继续阅读
资源评论
thomore
- 粉丝: 6
- 资源: 25
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功