Docker常用命令

Docker常用命令

说常用不如说自己用到的命令。

容器相关

学习了一下docker,基础常用命令记录下。

####docker run/新建并启动容器
这个run其实包含两个不走,先执行新建容器(docker create),接着启动容器(docker start)。敲两个是不是有点麻烦吧。

docker run xx [COMMAND]

例子 docker run -it ubuntu:14.04 /bin/bash

这里希望启动一个基于 ubuntu 14.04镜像 来创建一个容器,-t选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上,-i则让容器的标准输入保持打开。更多的命令选项可以通过man docker-run命令来查看。之后命令还有一项,启动一个bash终端。 这条命令涉及到很多知识了。
-参数 常用 -i -d -t -p, -d 是否在后台运行,-p 映射到本地主机端口。剩下的看手册来补下。

docker create && docker start && docker stop

创建,启动,停止。
有一个容易停止了,可以用 docker start XX容器 启动。 XX 可以是容器的ID,也可以是name。

docker rm

删除一个容器(最好先把这个容器停止了再删除)。
-f 可以强制删除。-v 删除与容器关联的卷(如果刚学习还真不知道什么是卷)。

docker attach

进入容器,如果开启了一个 -d 后台启动容器。 我们怎么进去看看? docker attach XX容器
这个命令我学习时候用过,感觉有时候不太好使。命令执行完卡那不动。

docker exec

可以在容器内直接执行任意命令。
docker exec -it xx /bin/bash 这可以进入xx镜像,并打开bash。 相比这个比上面的attach 好多了。

docker ps

列出启动中的容器, docker ps -a 列出所有镜像。

###仓库相关

docker images

列出本地镜像文件

docker rmi

删除本地镜像文件

docker seach xxx

在docker hub查询xxx 镜像

docker pull

像不像git? docker pull xx 可以下载xx镜像到本地。 (还能联想到 push 吧? commit ? 这些吧)

docker login

登陆docker hub

docker push

推送本地镜像到docker hub上。

数据相关

-v

在容器内创建数据卷 docker run -d -v /test ubuntu 在此镜像下创建一个test数据卷
也可以挂在主机目录为数据卷 docker run -d -v /usr/local/src:/opt/test ubuntu 将本地的/usr/lcoal/src 挂载到此镜象的 /opt/test 作为数据卷。 在本机修改,容器内可以看到。
这里可以增加参数来控制读写,默认读写。

volumes-from

数据卷容器
容器与容器间的数据挂在参数。
例如有个容器为 files ,通过另一个 test来挂在files。 docker run -it --volumes-from files --name test ubuntu
--name 是为后者容器起名。这个名字叫test 挂在了files 容器的数据。

端口映射,容器互联

-p && -P

docker run -itd -p 8080:80 --name web nginx:1.15 本机8080端口映射到容器80.
-p 需要自己分配端口 -P Docker会随机映射一个49000~49900的端口

docker port

查看映射端口配置

--link参数可以让容器之间安全地进行交互

基本上了解到的命令吧,后续根据搭建环境以及使用中来丰富其他的命令和参数。

请我吃辣条吧?!