命令
基本命令
# 安装docker
yum install docker
# 启动docker
systemctl start docker
# 配置让docker服务随系统自动启动
systemctl enable docker
# 取消开机自动启动
systemctl disable docker
# 停止docker服务
systemctl stop docker
# 查看nginx服务的状态
systemctl status docker
# 重启docker服务
systemctl restart docker
# 查看版本
docker -v
镜像操作命令
# 搜索镜像
docker search [images_name:tag]
# 下载镜像(:指定版本)
docker pull [images_name:tag]
# 查看本地下载的镜像
docker images
# 自己构建镜像
# 根据dockerfile的路径或者url构建镜像
docker build [OPTIONS] PATH|URL|-
# 查看镜像的构建历史
docker history [images_name]
# 删除镜像
# 需要先删除以此镜像为基础的容器
docker rmi [images_name]
容器操作命令
# 创建一个新的容器并运行
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
# 查看运行中的容器
# 可以查看容器ID、基础镜像、容器名称、运行状态、端口映射等
docker ps
# 查看所有容器:包括停止的
docker ps -a
# 查看容器的信息
# 例如端口号的映射、目录挂载
docker inspect [images_name/images_id]
# 启动和停止容器
docker start/stop [container_name/container_id]
# 重启容器
# 使用场景实例:
# 在加入新的npm包依赖需要重新编译的时候使用重启运行编译
# nginx容器的配置更新后需要重启生效
docker restart [container_name/container_id]
# 进入容器
# ps:有些容器没有bash,需要改成/bin/sh,例如mysq、mongodb的
# 退出容器输入exit 回车键
docker exec -it [container_name/container_id] /bin/bash
# 删除容器
# 在容器停止的状态才能删
docker rm [container_name/container_id]
# 容器主机文件拷
# 将容器文件拷贝到主机
docker cp [container_id/container_name] : [文件目录] [主机目录]
# 将主机的目录拷贝到容器
docker cp [主机目录] [container_id/container_name] : [文件目录]
实战
拉取nginx镜像并启动
- 从仓库中拉取镜像
docker pull nginx
- 查看镜像
docker images
- 创建并运行容器
docker run -it -d --name testnginx -p 80:80 nginx
- 查看运行中容器
docker ps
- 进入容器
docker exec -it deb37e8130d9 /bin/bash
- 修改nginx中html的内容(可在文档中查看文件位置)
文档:https://hub.docker.com/_/nginx
- 进入目录并修改文件内容
cd ./usr/share/nginx/html/
echo "<h1>Hello world</h1>" > index.html
- 退出容器
exit
- 在页面上访问: http://192.168.164.130 (默认80端口)
挂载数据到外部修改
-
主机上新建html
-
拉取nginx镜像
docker pull nginx
- 运行并创建容器
docker run -d -p 1000:80 -v /project/testNginx/html:/usr/share/nginx/html --name=textNginx nginx
-v命令 将主机的/project/testNginx/html目录(命令行这里只能写绝对路径哈)下的内容挂载到容器的目录/usr/share/nginx/html内,如果容器的指定目录有文件/文件夹,将被清空挂载后,后续直接修改/project/testNginx/html中的内容即可
打包Dockerfile镜像
- 创建文件结构
其中dist就是正常的vue打包的项目
Dockerfile文件内容
FROM nginx
//拷贝dist文件下的所有内容到/usr/share/nginx/html/下
COPY ./dist/ /usr/share/nginx/html/
- cd到/project/testDockerfile下打包镜像
别忘记最后那个点
docker build -t testDockerfile .
-
查看镜像
-
运行
-
访问页面