###############################################################
****** 参数解释 ******
COMMAND—命令
CONTAINER ID:容器ID
CREATED:镜像创建时间
DESCRIPTION:镜像的描述
IMAGES—镜像
IMAGE ID:镜像ID
NAMES:自动分配的容器名称
NAME:镜像仓库源的名称
OFFICIAL:是否docker官方发布
REPOSITORY:表示镜像的仓库源
SIZE:镜像大小
TAG:镜像的标签
###############################################################
******* 查看类命令 ******
# 查看版本
## docker 版本
docker --version
## docker-compose 版本
docker-compose --version
## docker-machine 版本
docker-machine --version
###############################################################
******* docker镜像 ******
@@@ docker镜像查看命令
# 查看它支持的所有标志列表
docker run —help
# 查看系统中所有镜像列表
docker images
#搜索镜像-- 通过搜索IMAGES来寻找适合我们的镜像
docker search IMAGES
# 查看某镜像底层信息
docker inspect IMAGES
## 使用CONTAINER ID查看底层信息
docker inspect CONTAINER ID
## 使用NAMES查看底层信息
docker inspect NAMES
# 查看某镜像的权限执行信息
docker run IMAGES ls -l
@@@ docker镜像操作命令
# 拉镜像
docker pull IMAGES
# 运行镜像
docker IMAGES
# 构建一个镜像
-t :指定要创建的目标镜像名
. :Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径
docker build -t docker_author/IMAGES:自定义镜像名 .
# 设置镜像标签(可以用来取你所想要的镜像标签名)
docker tag IMAGE ID docker_author/IMAGES:自定义镜像名
******** docker容器 ******
@@@ docker容器查看命令
# 查看最后一次创建的容器
docker ps -l
# 查看所有容器列表包括IMAGES和COMMAND信息记录
docker ps -a
# 查看运行中的所有容器列表包括IMAGES和COMMAND信息记录
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
# 查看容器内的标准输出
## 使用CONTAINER ID查看
docker logs CONTAINER ID
## 使用NAMES查看
docker logs NAMES
@@@ docker容器操作命令
# 运行并进入容器内
docker run -t IMAGES COMMAND
docker run -i -t IMAGES COMMAND
## 容器内的操作
### 更新容器
apt-get update
# 以一个进程方式运行容器
docker run -d IMAGES COMMAND -c “执行c的条件语句”
例如:
docker run -d IMAGES COMMAND -c “while true;do echo hello world;sleep 1;done”
# 提交容器副本
-m:提交的描述信息
-a:指定镜像作者
docker commit -m “添加描述信息” -a = “docker_author” CONTAINER ID docker_author/IMAGES:自定义镜像名
#容器的命名
docker run -d -P --name docker_author IMAGE COMMAND
例如:
docker run -d -P --name leiyuxing training/webapp python app.py
# 退出容器操作
exit 或 CTRL+D
# 停止容器
## 使用CONTAINER ID停止
docker stop CONTAINER ID
## 使用NAMES停止
docker stop NAMES
# 删除容器--注:删除容器前一定要先stop容器先
## 使用CONTAINER ID删除
docker rm CONTAINER ID
## 使用NAMES删除
docker rm NAMES
# 重启容器
## 使用CONTAINER ID重启
docker start CONTAINER ID
## 使用NAMES重启
docker start NAMES
******** docker 客户端操作 ******
# 运行一个网络应用
docker run -d -P IMAGE COMMAND
例如:
docker run -d -P training/webapp python app.py
验证:查看WEB容器
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bb51b0a936af training/webapp "python app.py" 8 minutes ago Up 7 minutes 0.0.0.0:32768->5000/tcp inspiring_elbakyan
说明:Docker开放了5000端口(默认Python Flask端口)映射到主机端口32769上
# -p:设置指定端口
docker run -d -p host(port) : port IMAGES COMMAND
例如:
docker run -d -p 5000:5000 training/webapp python app.py
效果:$docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
642ca47f6445 training/webapp "python app.py" 12 seconds ago Up 10 seconds 0.0.0.0:5000->5000/tcp affectionate_mccarthy
说明:容器内部的5000端口映射到我们本地主机的5000端口上
# 指定容器绑定的网络地址,比如绑定127.0.0.1
docker run -d -p 127.0.0.1: host(port) : port IMAGES COMMAND
例如:
docker run -d -p 127.0.0.1: 5000:5000 training/webapp app.py
这样我们就可以通过访问127.0.0.1:5000来访问容器的5000端口
#上面的例子中,默认都是绑定 tcp 端口,如果要绑定 UDP 端口,可以在端口后面加上 /udp
例如:
docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py
# 查看容器的端口映射
## 使用CONTAINER ID查看
docker port CONTAINER ID
## 使用NAMES查看
docker port NAMES
#查看端口绑定情况
docker port NAMES host(port)
例如:
docker port tender_yalow 5000
0.0.0.0:5000
# 查看WEB应用程序日志-- 能看到应用程序使用的端口和访问日志
## 使用CONTAINER ID查看
docker logs -f CONTAINER ID
## 使用NAMES查看
docker logs -f NAMES
# 查看WEB应用程序容器的进程
## 使用CONTAINER ID查看
docker top CONTAINER ID
## 使用NAMES查看
docker top NAMES