Docker-常用命令
区分容器(container)和镜像(image)的概念oooooooooooooooooo'o,简单来说容器和镜像的关系就像安装在电脑上的系统和未安装的镜像文件,https://blog.csdn.net/chszs/article/details/48252799
镜像简单操作
# 查看本地所有镜像
docker images
# 从仓库下载镜像
docker pull imagename
# 删除镜像
docker rmi imagename
# 给镜像重命名(会生成一个新的镜像)
docker tag oldname newname
容器简单操作
# 查看容器[-a 查看所有,包括未运行的]
docker ps -a
# 启动容器
docker run imagename
# 停止容器
docker stop containerid(或者containername)
# 删除容器
docker rm containerid
# 删除所有 [q 静默模式,只显示container id]
docker rm $(docker ps -aq)
创建镜像
##1. 创建Dcokerfile
FROM ubuntu #使用的基础镜像是ubuntu
MAINTAINER earor #维护人、创作人
RUN sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list #使用国内镜像下载
RUN apt-get update # 更新源
RUN apt-get install -y nginx #安装nginx [-y ALL YES 就是不用询问]
COPY index.html /var/www/html #将本机的index.html 拷贝到镜像内的/var/www/html
ENTRYPOINT ["/usr/sbin/nginx", "-g", "daemon off;"] #运行nginx
EXPOSE 80 #暴露80端口
##2. 构建
docker build -t earor/nginx . # [-t 标签] [. 当前目录作为上下文路径]
##3. 查看生成的镜像
docker images
##3. 运行测试
docker run -d -p 80:8080 earor/nginx #[-d 后台运行] [-p 将容器的8080映射到宿主80]
Volumn 持久化容器操作
# [-v 宿主机目录:容器内目录 将指定的宿主机内的目录挂载到容器内的目录]
## [-d后台启动nginx] [--name 指定容器名字为nginx]
docker run -d --name nginx -v /root/html:/usr/share/nginx/html nginx
## 省略冒号前的内容:将容器的真实使用的宿主机路径(容器运行的目录)挂载到容器内的某个位置
docker run -d --name nginx -v /usr/share/nginx/html nginx
## inspect 查看某个镜像的信息,其中Mounts属性包含上条命令挂载的信息
docker inspect nginx
## 进入docker镜像的bash
docker exec -it nginx /bin/bash
docker-compose 多容器编排
# 启动服务
docker-compose up
# 停止服务
docker-compose stop
# 删除服务中的容器
docker-compose rm
# 列出相关的服务
docker-compose ps
Comments ()