查看 docker 版本

docker version

查找容器镜像

docker search {镜像名称}

下载容器镜像

docker pull {镜像名称}

运行镜像

  • 提示:docker run 命令有两个参数,一个是镜像名,一个是要在镜像中运行的命令。
docker run {镜像名称} echo "hello word"
  • 常用参数
-i #以交互模式运行容器,通常与 -t 同时使用; 
-t #为容器重新分配一个伪输入终端,通常与 -i 同时使用 
–name="nginx-lb" #为容器指定一个名称; 
-P #将容器的80端口映射到主机随机端口。 
-p 80:80 #将容器的80端口映射到主机的80端口 
-v #映射主机目录和容器目录

在容器中安装新程序

  • 提示:在执行apt-get 命令的时候,要带上-y参数。如果不指定-y参数的话,apt-get命令会进入交互模式,需要用户输入命令来进行确认,但在docker环境中是无法响应这种交互。
docker run {镜像名称} apt-get install -y {程序名称}

保存对容器的修改

  • 首先使用docker ps -l 命令获得安装完新程序之后容器的id。然后把这个镜像保存为 容器名称/新程序名称(新镜像名称)。
  1. 运行docker commit,可以查看该命令的参数列表。

  2. 你需要指定要提交保存容器的ID。(译者按:通过docker ps -l命令获得)

  3. 无需拷贝完整的id,通常来讲最开始的三至四个字母即可区分。(译者按:非常类似git里面的版本号)

docker commit {id} {名称}
  • 执行完docker commit 命令之后,会返回新版本镜像的id号。

运行新的镜像

  • 一定要使用新镜像名来运行你想执行的命令
docker run {新镜像名} {命令} {命令参数}

检查运行中的镜像

使用docker ps命令可以查看所有正在运行中的容器列表,使用docker inspect命令我们可以查看更详细的关于某一个容器的信息。

  • 可以使用镜像id的前面部分,不需要完整的id
docker inspect efe

docker inspect 166d891541c1 | grep '"IPAddress"'

发布自己的镜像

提示:
  1. docker images命令可以列出所有安装过的镜像。

  2. docker push命令可以将某一个镜像发布到官方网站。

  3. 你只能将镜像发布到自己的空间下面。这个模拟器登录的是learn帐号。

docker build -t maple52zoe/laravel-php56:1.0 . 

docker login

docker tag {新镜像名称} YOUR_DOCKERHUB_NAME/{新镜像名称}

docker push YOUR_DOCKERHUB_NAME/{新镜像名称}

命令小结

命令 用途
docker pull 获取容器镜像
docker build 创建容器镜像
docker images 列出 images
docker run 运行容器
docker ps 列出正在运行的容器
docker rm 删除已经结束运行的 container
docker rmi 删除 images
docker cp 在 host 和 container 之间拷贝文件
docker commit 保存改动为新的 images

Dockerfile 语法

命令 用途
FROM base images
RUN 执行命令
ADD 添加文件
COPY 拷贝文件
CMD 执行命令
EXPOSE 暴露端口
WORKDIR 指定路径
MAINTAINER 维护者
ENV 设定环境变量
ENTRYPOINT 容器入口
USER 指定用户
VOLUME mount point

docker commit -m=”nginx-php72-redis-mongo” -a=”maple52zoe” fb46e820960c maple52zoe/laravel-environment:7.2

文档更新时间: 2019-11-19 14:55   作者:Maple