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/l... | sudo apt-key add -
显示OK,表示添加成功.
5.添加仓库
add-apt-repository \ "deb [arch=amd64] https://download.docker.com/l... $(lsb_release -cs) stable"
6.再次更新软件
apt-get update
7.安装docker
如果想指定安装某一版本,可使用apt-get install docker-ce=\命令,把\替换为具体版本即可。
以下命令没有指定版本,默认就会安装最新版
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.aliyu...m"
重启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 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
bash-
4.1
\#
常用命令
其中<>阔起来的参数为必选,[]阔起来为可选
1.
docker version
查看docker的版本号,包括客户端、服务端、依赖的
Go
等
2.
docker info
查看系统(docker)层面信息,包括管理的images, containers数等
3.
docker search
在docker index中搜索image
4.
docker pull
从docker registry server 中下拉image
5.
docker push
推送一个image或repository到registry
6.
docker push
同上,指定tag
7.
docker inspect
查看image或container的底层信息
8.
docker images
查看本机images
9.
docker images –a
列出所有的images
10.
docker ps
默认显示正在运行中的container
11.
docker ps –l
显示最后一次创建的container,包括未运行的
12.
docker ps –a
显示所有的container,包括未运行的
13.
docker logs
查看container的日志,也就是执行命令的一些输出
14.
docker rm
删除一个或多个container
15.
docker rm docker ps -a -q
删除所有的container
16.
docker ps -a -q | xargs docker rm
同上, 删除所有的container
17.
docker rmi
删除一个或多个image
18.
docker start/stop/restart
开启/停止/重启container
19.
docker start -i
启动一个container并进入交互模式
20.
docker attach
attach一个运行中的container
21.
docker run
使用image创建container并执行相应命令,然后停止
22.
docker run -i -t
使用image创建container并进入交互模式, login shell是/bin/bash
23.
docker run -i -t -p
将container的端口映射到宿主机的端口
24.
docker commit
将一个container固化为一个新的image,后面的repo:tag可选
25.
docker build
寻找path路径下名为的
Dockerfile
的配置文件,使用此配置生成新的image
26.
docker build -t repo[:tag]
同上,可以指定repo和可选的tag
27.
docker build - <
使用指定的dockerfile配置文件,docker以stdin方式获取内容,使用此配置生成新的image
28.
docker port
查看本地哪个端口映射到container的指定端口,其实用docker ps 也可以看到
29.
更改主机名
$ docker run -it --hostname web jim/custom1 /bin/bash
未完待续....