Docker 操作指南之常用操作篇
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
安装最新版本
- 卸载旧版本 docker
全新安装时,无需执行该步骤
apt-get --purge remove docker docker-engine docker.io lxc-docker
- 更新系统软件
apt-get update
- 安装依赖包
apt-get install apt-transport-https ca-certificates curl software-properties-common
- 添加官方密钥
执行该命令时,如遇到长时间没有响应说明网络连接不到 docker 网站,需要使用代-理进行。
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \| sudo apt-key add -
显示 OK,表示添加成功.
- 添加仓库
add-apt-repository \\ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \$(lsb_release -cs) stable"
- 再次更新软件
apt-get update
- 安装 docker
如果想指定安装某一版本,可使用apt-get install docker-ce=\
命令,把 \ 替换为具体版本即可。
以下命令没有指定版本,默认就会安装最新版
apt-get install docker-ce
- 查看 docker 版本
docker -v
非 root 用户管理 docker
- 创建 docker 组
groupadd docker
- 将非 root 用户加入 docker 组
gpasswd -a ${USER} docker
- 重新启动 docker 服务
systemctl restart docker
- 用户退出系统重新登陆
修改默认存储
默认情况下 Docker 的存放位置为:/var/lib/docker
可以通过下面命令查看具体位置:
docker info \| grep "Docker Root Dir"
修改默认存储有两种方法:
建立软连接
首先停掉 Docker 服务:
systemctl stop 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 会自动下载他们。
sudo 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 centos
Pulling repository centos
b7de3133ff98: Pulling dependent layers
5cc9e91966f7: Pulling fs layer
511136ea3c5a: Download complete
ef52fb1fe610: Download complete
我们可以看到下载的 image 的每一个层次,这样当我们使用这个 image 来启动容器的时候,它就可以马上启动了。
docker run -t -i centos /bin/bash
查找 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
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。
相关系列:
- 点赞
- 收藏
- 关注作者
评论(0)