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 <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

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的端口映射到宿主机的端口

24.
docker commit <container> [repo:tag]

将一个container固化为一个新的image,后面的repo:tag可选

25.
docker build <path>

寻找path路径下名为的
Dockerfile
的配置文件,使用此配置生成新的image

26.
docker build -t repo[:tag]

同上,可以指定repo和可选的tag

27.
docker build - < <dockerfile>

使用指定的dockerfile配置文件,docker以stdin方式获取内容,使用此配置生成新的image

28.
docker port <container> <container port>

查看本地哪个端口映射到container的指定端口,其实用docker ps 也可以看到

29.
更改主机名

$ docker run -it --hostname web jim/custom1 /bin/bash

未完待续....


ZeeBJ
7 声望4 粉丝