Docker 基本使用


Coder Life

Docker 信息查看

Docker 列出镜像 images

Docker 列出运行中容器 containers

Docker 列出所有容器 containers

Docker 运行镜像(并创建容器)

options 查看 docker run --help

如果不指定容器名称,会生成随机的名称,可用 docker ps -l 查看。

一个容器对应一个虚拟的环境,所以新手要注意不要反复用 docker run 命令,而用以下的启动/停止容器命令。

Docker 启动/停止容器

Docker 查看容器内存/CPU占用

Ctrl-C 退出即可

Docker 挂载用户权限问题

Mac OS X 下 Docker 运行 mysql 容器时挂载 volumes 时权限问题

为例:

用户在文件系统中是以整型 id 来区分。所以同一个用户名在不同的环境中可能 id 不同。

查看用户 id 可以通过 cat /etc/passwd

然后在容器创建时执行命令 usermod -u 1000 mysql 即可。1000 应改为你挂载的目录的 owner id

命令可以加到 docker run [options] image command] 语句中执行。

也可以加到 Dockerfile 中,如本例中

php-apache:

Docker ssh 进入容器 shell?

从 host 进入容器不需要 ssh, 用以下命令:

其中的 sh 可以替换成容器中有的 shell, 如 bash, zsh 等

如果想能够从外网直接 ssh 进容器(不推荐, 因为你可以 ssh 到宿主机器再用上面的命令进入容器)

可以映射一个特定的端口到容器的 ssh端口(默认为22),然后从外网 ssh 到宿主 ip:映射端口

Docker 映射端口

docker run [options] container 时添加 option: -p xxxx:xx 左边的是 host, 右边的是容器。

如:

即可从宿主 ip:8080 访问到容器内的 nginx 服务器。

使用 fig

看到很多小朋友会把 docker run 的命令抄下来,以便将来需要重新 docker run。其实大可不必如此。使用 fig 就能很好的解决问题。

将会单独再写一篇文章讲 fig 的基本使用。