美文网首页
Docker常用命令(陆续完善)

Docker常用命令(陆续完善)

作者: 0过把火0 | 来源:发表于2018-01-17 22:20 被阅读16次

转载注明出处 [过把火]:https://www.jianshu.com/p/fbdd455f2b8b
陆续完善一些Docker的使用命令:


1、启动:

service docker restart
service docker start

2、停止

service docker stop

3、下载镜像(以下载ub系统为例)

docker pull ubuntu:14.04

4、查看本地全部镜像

docker images

5、启动本地镜像(以启动ub系统为例)

docker run -t -i ubuntu:14.04 /bin/bash 
或 docker run -t -i ubuntu:14.04 
或 docker run -ti ubuntu:14.04

ubuntu为你的镜像仓库名,14.04代表你所要运行镜像的Tag,通常情况下可能相同仓库下你会有多个镜像,因此需要指定Tag,若是你的仓库没有该镜像,会自动在hub中下载该镜像并运行。

默认运行/bin/bash 所以不加上也无所谓。意思是启动完ub后运行起来一个终端,这部分可以随便指定一个动作用于镜像启动完成后的表现形式。

命令解释:
    docker run:启动container
    ubuntu:你想要启动的image
    -t:进入终端
    -i:获得一个交互式的连接,通过获取container的输入
    /bin/bash:在container中启动一个bash shell(默认)

6、退出某container
Exit 退出后container仍存在,只是处于exit状态。
7、重新开启之前的container

docker start $container name$
docker  attach $container name$
或者 docker exec -it $container name$  /bin/bash
**如果想后台运行-it后加上参数 d 即可**

8、查看所有镜像

docker images -a
或者 docker image ls

9、查看所有存在的container

docker ps -a

10、修改镜像的TAG:

docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签)

#例子
docker tag ca1b6b825289 registry.cn-hangzhou.aliyuncs.com/xxxxxxx:v1.0

11、搜索仓库获取镜像

docker search $image name$

12、提交并保存你的images

  1. 首先你得有一个开源仓库的帐号,例如Dockerhub上面注册一个帐号。
  2. 终端输入:docker login
  3. 终端提示你输入用户名和密码:
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: daodaowen2017
Password:
Login Succeeded

4.然后就可以保存并提交你想做成镜像的container了

docker commit $container ID$ $images name:tag$

13、挂载共享卷

docker run -it -v /home/$username$/build:/root/build --name $imageName$ ubuntu

这里解析下这个命令参数:

  • docker run 表示运行一个镜像;
  • -i表示开启交互式;-t表示分配一个tty(虚拟终端),可以理解为一个控制台;因此-it可以理解为在当前终端上 与docker内部的Ubuntu系统交互;
  • -v 表示docker内部的ubuntu系统/root/build目录与本地/home/$username$/build共享;这可以很方便将本地文件上传到Docker内部的Ubuntu系统;
  • --name ubuntu 表示Ubuntu镜像启动名称,如果没有指定,那么Docker将会随机分配一个名字;
  • ubuntu 表示docker run启动的镜像文件;

14、删除与批量删除

  • 删除单个容器:
    docker rm -f master
  • 删除单个镜像
    docker image rm ubuntu
    删除单个镜像后面可以加上镜像的Tag,或者使用ID来删除都是可以的。
  • 批量停止并删除容器
    docker stop $(docker ps -q) & docker rm $(docker ps -aq)
  • 批量停用容器
    docker stop $(docker ps -q)
  • 删除全部已经停止的容器
    docker rm $(docker ps -aq)

15、编译Dockerfile
常用基本格式:
docker build -t 源:Tag . 其中.表示Dockerfile在当前路径。
完整格式:
docker build [OPTIONS] PATH | URL | -

OPTIONS说明:

--build-arg=[] :设置镜像创建时的变量;

--cpu-shares :设置 cpu 使用权重;

--cpu-period :限制 CPU CFS周期;

--cpu-quota :限制 CPU CFS配额;

--cpuset-cpus :指定使用的CPU id;

--cpuset-mems :指定使用的内存 id;

--disable-content-trust :忽略校验,默认开启;

-f :指定要使用的Dockerfile路径;

--force-rm :设置镜像过程中删除中间容器;

--isolation :使用容器隔离技术;

--label=[] :设置镜像使用的元数据;

-m :设置内存最大值;

--memory-swap :设置Swap的最大值为内存+swap,"-1"表示不限swap;

--no-cache :创建镜像的过程不使用缓存;

--pull :尝试去更新镜像的新版本;

-q :安静模式,成功后只输出镜像ID;

--rm :设置镜像成功后删除中间容器;

--shm-size :设置/dev/shm的大小,默认值是64M;

--ulimit :Ulimit配置。

相关文章

网友评论

      本文标题:Docker常用命令(陆续完善)

      本文链接:https://www.haomeiwen.com/subject/lkxpoxtx.html