转载注明出处 [过把火]: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
- 首先你得有一个开源仓库的帐号,例如Dockerhub上面注册一个帐号。
- 终端输入:docker login
- 终端提示你输入用户名和密码:
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配置。
网友评论