安装
Deepin 15.11
Install Docker Engine on Ubuntu
1 |
|
控制docker状态
1 |
|
命令
1 |
|
镜像
镜像好比模板,静态形式,类比虚拟机的镜像,便于维护、扩展和交流,一般用来创建容器。
列举镜像
1 |
|
拉取镜像
1 |
|
查找镜像
在Docker Hub上检索镜像
1 |
|
删除镜像
1 |
|
保存加载
1 |
|
1 |
|
构建镜像
commit
build和Dockerfile
编写Dockerfile文件
1 |
|
构建
1 |
|
推送到Docker Hub
1 |
|
容器
容器,基于镜像创建,动态形式
创建容器
运行(启动)并创建容器且执行命令(前台)
1 |
|
定制容器名称(默认docker随机生成名称),相比于容器ID,更容易识别,便于人工操作。
1 |
|
shell中exit退出,容器也即停止
1 |
|
运行并创建容器且执行命令(后台)
1 |
|
停止容器
1 |
|
列举容器
1 |
|
启动容器
启动已经停止的容器(沿用run命令的参数)
1 |
|
附着到运行中的容器(沿用run命令的参数)【可能需要按下回车键才能进入该会话】
1 |
|
在容器内部运行命令(前台)
1 |
|
在容器内部运行命令(后台)
1 |
|
删除容器
1 |
|
导出导入
1 |
|
1 |
|
端口映射
宿主机4999端口映射到容器80端口上
1 |
|
宿主机端口随机映射到容器80端口上
1 |
|
查看宿主机与容器的端口映射
1 |
|
对外开放Dockerfile中EXPOSE的端口,宿主机端口随机
1 |
|
数据管理
1 |
|
权限
两目录的userId、groupId和权限等一模一样,但是由于宿主机和容器两系统中user和group的ID分配是不一样的,相同ID代表的内容不一样,因而可能会出现权限问题。例如:
容器
1 |
|
宿主机
1 |
|
容器中Apache进程用户为www-data,ID为33,对/var/www/html目录没有写权限,导致无法showdoc无法安装成功。
在宿主机将属主变更为33即可,例如:
1 |
|
但是这样可能导致宿主机的权限问题,可以通过group增加权限。
1 |
|
仓库
1 |
|
Compose
Compose一种编配工具,原本需要一个容器一个容器的启动/停止等操作,借助compose通过编排(docker-compose.yml)可以同时操作多个容器。
安装
通过package管理器安装
1 |
|
或者人工安装
1 |
|
命令
1 |
|
docker-compose.xml
docker-compose.yml sample:
1 |
|
指令:
image
command
build
ports
volumes
links
Machine
Swarm
Swarm一种集群管理工具,可以构建CaaS
Swarm Mode
Dockerfile指令
.dockerignore
定义忽略处理的文件