简介

Docker 学习笔记。

安装

# 安装
curl fsSL https://get.docker.com/ | sh

# 版本信息
docker --version

# 详细信息
docker info

# 使用帮助
docker run --help

镜像操作

# 查看镜像列表
docker images

# 下载某个镜像
docker pull ubuntu

# 删除某个镜像
docker rmi IMAGEID

# 删除某个镜像(不推荐,因为要删除依赖此镜像创建的容器)
docker rmi -f IMAGEID

# 查看某个镜像(IMAGEID === REPOSITORY:TAG)
docker inspect IMAGEID

# 查找某个镜像
docker search ubuntu

# 添加新标签
docker tag ubuntu:latest ncyu1044173619/test:latest

# 上传镜像
docker login
docker push ncyu10441736/test:latest

容器操作

基本操作

# 查看容器列表
docker ps -a

# 根据容器名称查找容器
docker ps -aq --filter name=oss_container_stg

# 新建某个容器
docker create -it --name CONTAINERNANE IMAGEID 

# 启动、终止、重启某个容器
docker start/stop/restart CONTAINERID

# 新建 + 启动容器(一般以守护态运行)
docker run -itd --name CONTAINERNANE IMAGEID /bin/bash

# 进入某个容器(exit后容器关闭)
docker attach CONTAINERID

# 进入某个容器(exit后容器不关闭)
docker exec -it CONTAINERID /bin/bash

# 删除某个容器
docker rm CONTAINERID

# 根据容器创建镜像
docker commit -m "description" -a "auth" CONTAINERID  REPOSITORY:TAG

目录映射

docker run -itd --name CONTAINERNANE -v /localDir:/containerDir IMAGEID /bin/bash

端口映射

docker run -it --name CONTAINERNANE -p localPort:containerPort IMAGEID

DockerFile

文件编写

FROM centos
RUN yum install wget
RUN wget -O redis.tar.gz "http://download.redis.io/releases/redis-5.0.3.tar.gz"
RUN tar -xvf redis.tar.gz

# 以上执行会创建 3 层镜像。可简化为以下格式:
FROM centos
RUN yum install wget \
    && wget -O redis.tar.gz "http://download.redis.io/releases/redis-5.0.3.tar.gz" \
    && tar -xvf redis.tar.gz

构建镜像

# 如果已经存在则覆盖
docker build -t nginx:v3 .

指令简介

FROM:定制的镜像都是基于 FROM 的镜像

RUN:用于执行后面跟着的命令行命令

COPY:复制指令,从上下文目录中复制文件或者目录到容器里指定路径

WORKDIR:指定工作目录。
1、用 WORKDIR 指定的工作目录,会在构建镜像的每一层中都存在。(WORKDIR 指定的工作目录,必须是提前创建好的)
2、docker build 构建镜像过程中的,每一个 RUN 命令都是新建的一层。只有通过 WORKDIR 创建的目录才会一直存在

CMD:类似于 RUN 指令,用于运行程序,但二者运行的时间点不同:
1、CMD 在 docker run 时运行
2、RUN 是在 docker build

EXPOSE:仅仅只是声明端口。作用:
1、帮助镜像使用者理解这个镜像服务的守护端口,以方便配置映射
2、在运行时使用随机端口映射时,也就是 docker run -P 时,会自动随机映射 EXPOSE 的端口

参考资料

powered by Gitbook该文件修订时间: 2023-05-16 18:08:03

results matching ""

    No results matching ""