环境: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和主机端口与容器端口的映射。
- 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无论启动与否都可以。