1, imagem janela de encaixe de download
docker puxar [opções] nome [: tag @ digerir]
nome por trás do rótulo agora pode espelhar ou Resumo espelhado (na verdade a versão espelhada), se não for nada, é baixar hub janela de encaixe no padrão será: mais recente (última edição)
detalhes dos parâmetros:
nome |
omissão |
descrição |
--all-tags, um |
|
Download de todos os espelhos armazém |
--disable-conteúdo-trust |
verdade |
Ir verificação Espelho |
--plataforma |
|
plataforma conjunto de espelhos de propriedade , se houver múltiplo espelho . |
2, ver o espelho janela de encaixe atual
imagens docker [opções] [repositório [: tag]]
imagens podem ser adicionados por trás do nome da imagem ea versão que você quer ver
3, executar-imagem tempo
docker run [opções] imagem [: tag] [comando] [arg ...]
Recomendado : estivador prazo -dit [id]
parâmetros:
-d, --detach = falso , o recipiente especificado em execução no primeiro ou segundo plano, o padrão é falsa
-i, --interactive = false , aberta STDIN, para console interativo
-t, --tty = falso , distribuição dispositivo tty, que pode suportar o início de sessão do terminal, o padrão é falsa
-u, --user = "" , o utilizador especifica o contentor
-a, --attach = [] , (deve ser com base em registo recipiente contentor de execução janela de encaixe -d iniciado)
-w, --workdir = "" , diretório de trabalho container especificado
-C, --cpu-shares = 0 , desde que o recipiente de peso CPU, usando o cenário de compartilhamento de CPU
-e, --env = [] , a variável especificada ambiente, o recipiente pode ser usado nas variáveis de ambiente
-m, --memory = "" , especifica o contêiner limite de memória
-P, = --- Todos publicar para falso , o recipiente especificado é exposto a porta
-p, --publish = [] , o porto de contentores especificado exposta
-h, --hostname = "" , o nome de host do contentor especificado
-v, = --volume [] , para montar o volume de armazenagem do recipiente, o suporte de recipiente de um directório
= A partir de volumes --- [] , para montar o volume do recipiente em outros recipientes, o recipiente montado a um directório
= Adicionar --- cap [] , adicionar permissões, consulte a lista de permissões: http://linux.die.net/man/7/capabilities
= Queda --- cap [] , permissões de exclusão, consulte a lista de permissões: http://linux.die.net/man/7/capabilities
= --Cidfile "" , execute o recipiente, o recipiente está escrito no arquivo especificado valores de PID, sistema de monitoramento de um uso típico
= --Cpuset "" , desde que o recipiente pode ser usado que a CPU, os parâmetros que podem ser usados para o recipiente monopolizar CPU
= --Device [] , é adicionado ao recipiente de um dispositivo hospedeiro, através dos dispositivo corresponde aos
= - DNS [] , o contêiner especificado servidor dns
Search-= - DNS [] , o contêiner especificado de pesquisa de domínio DNS, escrevendo para o arquivo /etc/resolv.conf recipiente
= --Entrypoint "" , que cobre o ponto de entrada de imagem
File- = --env [] , o arquivo de ambiente variável especificada, uma variável de ambiente formato de arquivo para cada linha
= --Expose [] , o porto de contentores especificado exposto, isto é, exposto a modificar o espelhamento porta
= --Link [] , a associação entre o recipiente específico, outros recipientes IP, env e outras informações
--lxc-conf=[], 指定容器的配置文件,只有在指定--exec-driver=lxc时使用
--name="", 指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字
--net="bridge", 容器网络设置:
bridge 使用docker daemon指定的网桥
host //容器使用主机的网络
container:NAME_or_ID >//使用其他容器的网路,共享IP和PORT等网络资源
none 容器使用自己的网络(类似--net=bridge),但是不进行配置
--privileged=false, 指定容器是否为特权容器,特权容器拥有所有的capabilities
--restart="no", 指定容器停止后的重启策略:
no:容器退出时不重启
on-failure:容器故障退出(返回值非零)时重启
always:容器退出时总是重启
--rm=false, 指定容器停止后自动删除容器(不支持以docker run -d启动的容器)
--sig-proxy=true, 设置由代理接受并处理信号,但是SIGCHLD、SIGSTOP和SIGKILL不能被代理
4、查看正在运行的docker容器
docker ps
-a :显示所有的容器,包括未运行的。
-q :静默模式,只显示容器编号。
-f :根据条件过滤显示的内容。
--format :指定返回值的模板文件。
-l :显示最近创建的容器。
-n :列出最近创建的n个容器。
--no-trunc :不截断输出。
-s :显示总的文件大小。
5、进入docker容器内部的shell
docker exec -it [name] bash
-d,以后台方式执行命令;
-e,设置环境变量
-i,交互模式
-t,设置TTY
-u,用户名或UID,例如myuser:myusergroup
6、docker build 构建镜像
docker build [OPTIONS] PATH | URL | -
OPTIONS说明:
-f :指定要使用的Dockerfile路径;
-m :设置内存最大值;
--tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。
--build-arg=[] :设置镜像创建时的变量;
--cpu-shares :设置 cpu 使用权重;
--cpu-period :限制 CPU CFS周期;
--cpu-quota :限制 CPU CFS配额;
--cpuset-cpus :指定使用的CPU id;
--cpuset-mems :指定使用的内存 id;
--disable-content-trust :忽略校验,默认开启;
--force-rm :设置镜像过程中删除中间容器;
--isolation :使用容器隔离技术;
--label=[] :设置镜像使用的元数据;
--memory-swap :设置Swap的最大值为内存+swap,"-1"表示不限swap;
--no-cache :创建镜像的过程不使用缓存;
--pull :尝试去更新镜像的新版本;
--quiet, -q :安静模式,成功后只输出镜像 ID;
--rm :设置镜像成功后删除中间容器;
--shm-size :设置/dev/shm的大小,默认值是64M;
--ulimit :Ulimit配置。
--network: 默认 default。在构建期间设置RUN指令的网络模式
7、docker删除容器
(1)首先查看系统现有的容器
docker ps -a
很多是测试产生的容器,现在将他们删除,执行:
docker rm [c9b077c1e8b2 97b22f5efeca]
c9b077c1e8b2、97b22f5efeca为要删除容器的id
(2)删除正在运行中的容器
此时id为 ae32dddeadbf 的容器正在运行中
我们直接删除它是会报错的:
这时加上参数 -f (强制删除)即可
docker rm -f ae32dddeadbf
(3)删除所有的容器
先停止所有运行中的容器:
docker stop $(docker ps -q)
再查看所有的容器:
docker ps -aq
删除所有的容器:
docker rm $(docker ps -aq)
8、docker删除镜像
先查看当前镜像:
docker images
删除镜像:
docker rmi ceshicopy2
ok,已经删除
需要注意的是,删除镜像时,必须保证没有容器正在基于此镜像运行着,所以需要先删除基于此镜像的容器,再删除镜像
9、docker镜像的导入导出
先查看当前镜像
docker images
(1)docker镜像的导出
docker save
用法:docker save > 【目标文件】 【源镜像名】
示例:
docker save > nginx.tar hub.c.163.com/library/nginx
(2)docker镜像的导入
docker load
用法:docker load < 【导入的镜像】
示例:
docker load < nginx.tar
10、docker容器的导入导出
查看当前容器
docker ps -a
(1)容器的导出
docker export
用法:docker export > 【目标文件】 【源镜像名】
示例:
docker export > jpress.tar 8bf49fa5ca97
(2)容器的导入
docker import
用法:docker import 【导入的容器】 【导入后修改的名字】
示例:
docker import jpress.tar jpress:1
注意:
容器导入后也会形成镜像,然后再运行此镜像即可!
11、保存修改后的容器内容
docker commit [容器id] [修改后的名字:tag]
示例:
docker commit 03b79d8cef9d jpmysql
已经生成新的镜像,基于修改后的容器。
直接运行即可
12、镜像上传至私有仓库
docker push [OPTIONS] NAME[:TAG]
示例:
1、首先登录docker hub
docker login
2、上传镜像
docker push runningrookie/ubuntu:16.04
注意:上传此镜像前,需要先把镜像的名称改为[用户名]/ubuntu:[tag]格式,前边一定要是自己登录账号的用户名;
注意:[用户名]表示你的用户名,/ubuntu表示这个叫ubuntu的存储库,后边的:[tag]才是你上传到docker hub后显示的标签名称。
3、进入docker hub查看
13、docker容器设置开机自启
1、用法:
启动时加--restart=always参数
2、示例:
docker run --restart=always .....
如果创建时未指定 --restart=always ,可通过update 命令设置:
docker update --restart=always xxx
若想要关闭自启动,可执行
docker update --restart=no xxx
3、参数:
no 不自动重启容器. (默认值)
on-failure 容器发生error而退出(容器退出状态不为0)重启容器,可以指定重启的最大次数,如:on-failure:10
unless-stopped 在容器已经stop掉或Docker stoped/restarted的时候才重启容器
always 在容器已经stop掉或Docker stoped/restarted的时候才重启容器,手动stop的不算