常用的 Docker 命令
一. 安装后的查看和启动
1.1 查看版本信息
$ docker version
$ docker info
1.2 启动 docker 服务
service docker start
systemctl start docker
1.3 运行镜像
docker run hello-world
docker container run --rm -p 8000:3000 -it koa-demos:0.1 /bin/bash
二. Image 镜像相关
2.1 获得本地所有的 image 文件
docker images
2.2 删除 image 文件
docker image rm hello-world
2.3 image build (创建镜像)
# -t 声明文件名称, 最后的 . 标识当前目录
docker image build -t liby-abc:0.1 .
2.4 发布 image 文件
可以将创建的文件发布到云端, 首先需要注册 hub.docker.com
# 登录
docker login
# 为本地的 image 标注用户名和版本
# docker image tag [imageName] [username] /[repository]:[tag]
docker image tag liby-abc:0.1 liby/liby-abc:0.1
# 重新构建 image 文件
docker image build -t [username]/[repository]:[tag] .
# 发布
docker image push [username]/[repository]:[tag]
三.容器 container
3.0 docker
# 查看正在运行的容器
docker ps
# 或
docker container ls
# 查看所有的容器
docker ps -a
# 或
docker container ls -a
# 只查看容器的id
docker ps -a -q
# 查看容器的大小
docker ps -a -s
# 查看最后三个容器
docker ps -n 3
# 查看最新的容器
docker ps -l
3.1 生成一个新的容器
docker container run [OPTIONS] IMAGE [COMMAND] [ARG...]
docker container run -rm -p 8000:3000 -it liby-abc:0.1 /bin/bash
参数说明
* -rm 参数: 容器退出后自动删除
* -p 参数: 容器的 3000 端口映射到本机的 8000 端口.
* -it 参数: -i 和 -t 的合并, 容器 shell 映射到当前的 shell , 然后在本机输入命令, 可以传入容器中;
* liby-abc:0.1 : image 文件的名称和标签
* /bin/bash : 容器启动后, 内部第一个执行的命令, 进入bash(同等于Linux的命令行), 确保用户可以使用shell
3.2 关闭容器
# 查看运行的id
docker ps
# 正常停止容器
docker container stop 容器ID
# 或
docker stop 容器ID
# 直接杀死容器
docker kill ID
# 或者
docker container kill ID
3.3 删除容器
docker rm ID
# 或者
docker container rm ID
# 或者 在创建的时候声明, 停止容器后, 自动删除 -rm
docker container run -rm -p 8000:3000 -it liby-abc:0.1 /bin/bash
3.4 启动之前已经创建的容器
docker container start 容器ID
# 或者
docker start 容器ID
3.5 进入已经启动的容器
docker container exec -it 容器ID /bin/bash
# 退出
exit
3.6 复制容器中的文件到本机
docker container cp 容器ID:/path/to/file