环境:ubuntu16.04 ,安装最新版本docker

1.  添加GPG key

sudo apt-key adv--keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys58118E89F3A912897C070ADBF76221572C52609D


2. 添加源 

新建文件:/etc/apt/sources.list.d/docker.list



在里面添加内容:

debhttps://apt.dockerproject.org/repo ubuntu-xenial main

3. 更新源 

sudo apt update


4. 安装 

sudo apt-getinstall docker-engine 


5. 启动docker,并将docker设置为开机启动项。

sudo service dockerstart

chkconfig docker on

6. 使用新式 systemd 语法,启动docker并设置为开机启动项,如下:

systemctl  start docker.service

systemctl  enable docker.service 

7. Docker常用命令

    1)  sudo docker info 查看daoker程序信息,及是否正常运行

    2)  sudo docker run -i -t ubuntu/bin/bash  运行一个docker容器,-i标志保证容器中     STDIN 是开启的,-t表示开启为终端,这两个参数保证运行该容器是一个交互式的。

    Ubuntu表示运行的镜像,/bin/bash 表示运行的程序

    3)  docker ps 只能看到正在运行的容器。-a 表示显示全部,-l显示最后一次的容器,        包括正在运行和已经停止的。

4)  sudo docker run --name Cxx -i -tubuntu /bin/bash

表示创建一个容器名称为Cxx的容器。--name 指定容器名称

  • docker rm 删除容器   -f 强制删除,可删除正在运行的容器

  • docker rmi 镜像名称/ID  表示删除镜像

  • sudo docker start ID/名称   启动已经停止的容器

  • sudo docker attach ID/名称  重新附着到该容器的会话上,前提是启动的已经停止的容器

  • docker run 命令使用了-d 参数,因此Docker会将容器放到后台运行

称为守护式容器。

  • sudo docker logs 容器名称/ID  对于后台运行的守护式容器,用docker logs 命令来获取容器的日志。可以在命令后使用-f参数来监控Docker的日志,这与tail -f命令非常相似。Ctrl+c停止

  • sudo docker top容器名称/ID 查看容器内运行的所有进程,运行进程的用户和ID

  • 通过docker exec 命令在容器内部额外启动新进程。可以在容器内运行的进程有两种类型:后台任务和交互式任务。后台任务在容器内运行且没有交互需求,而交互式任务则保持在前台运行。

  • 端口映射

-p 宿主机端口:容器端口

-P 大写的p 不加端口号表示随机映射。

-p IP: 宿主机端口:容器端口,表示指定主机IP和主机端口与容器端口的映射。

  1. 8. Docker容器的数据管理

数据卷

run –it -v /date--name test1 ubuntu /bin/bash 表示将主机目录挂载到容器上,主机中若没有/date 则创建该目录,主机与容器在该目录下数据共享。

run –it –v src:dst--name test2 ubuntu /bin/bash 可以将主机中已经存在的目录挂载的容器中的指定目录。

-v src:dst:ro 加上ro表示该容器挂载的目录只读。

数据卷容器

run –it --nametest3 – volumes-from test1 ubuntu /bin/bash

将test1挂载的/date 数据卷与test3 共享,并且test1无论启动与否都可以。