一、docker命令
命令 | 说明 | 备注 |
systemctl start docker | 启动docker | |
systemctl restart docker | 重启docker | |
systemctl stop docker | ||
systemctl enable docker | 设置开机启动docker | |
docker images | 查看镜像列表 | |
docker ps | 查看运行中的容器 | |
docker exec -it 容器ID /bin/bash | 进入容器之中;exit退出 | docker exec -it cc4e10826597 /bin/bash |
docker logs 容器ID | 查看日志 | |
docker logs -f -t --since="2020-03-02" --tail=1000 容器ID | 查看2020年3月2号之后的日志,显示1000行 |
二、镜像常用命令
命令 | 说明 | 备注 |
docker image ls | 查看镜像列表 | 也可以用docker images |
docker image history 镜像名称 | 查看镜像历史信息 | docker image history nginx |
docker image inspect 镜像名称 | 查看镜像具体的详情 | docker image inspect nginx |
docker build | 根据dockerfile创建镜像 | docker build -t coretest01:v1 . |
docker image prune | 移除未使用的镜像,未标记或未被任何容器引用的镜像 | |
docker pull | 从镜像仓库拉取镜像 | docker pull nginx |
docker image push | 推送镜像:可以推给私人的远程仓库 | |
docker image rm | 删除镜像 | docker image rm 1924949679f3 |
docker image save | 保存一个或多个镜像文件到tar归档文件 | docker image save nginx > nginx1.12.tar |
docker load | 加载一个镜像 | docker load -i nginx1.12.tar |
docker export | 导出容器文件到tar归档文件 | docker export 容器ID > nginx.tar |
docker image import | 导入容器文件系统tar归档文件创建镜像 | docker image import nginx.tar nginx:self |
docker tag sourceImage targetImage | 生成一个引用源镜像的标记镜像 | docker tag nginx nginx:v1 |
三、容器常用命令
命令 | 说明 | 备注 |
docker container run [OPTIONS] IMAGE [COMMAND] [ARG...] | 创建一个新的容器并运行一个命令 | docker container run -itd --name ng nginx 利用nginx镜像创建一个名为ng的容器 |
docker container start [OPTIONS] CONTAINER [CONTAINER...] | 启动已停止的容器 | docker start 2b8c4047761e |
docker container restart [OPTIONS] CONTAINER [CONTAINER...] | 重启容器 | docker restart 2b8c4047761e |
docker container stop [OPTIONS] CONTAINER [CONTAINER...] | 停止容器 | docker stop 2b8c4047761e |
docker container attach | 进入容器终端 | |
docker ps [OPTIONS] | 查看容器 | docker ps 查看运行中的容器 docker ps -a 查看所有容器 |
docker container ls | 查看容器列表 | |
docker container inspect 容器名称 | 查看容器详细信息 | |
docker logs 容器ID | 查看日志信息 | docker logs 3b2fd1844126 |
docker export | ||
docker import | 导入容器文件系统tar归档文件创建镜像 | docker |
docker exec [options] containerID bash | 进入容器中 | docker exec -it 3b2fd1844126 bash |
docker rm 容器ID | 删除容器(需要先停止容器) | docker rm 3b2fd1844126 |
四、DockerFile
命令 | 说明 | 备注 |
FROM | 当前构建的新镜像基于哪个镜像 | FROM microsoft/dotnet:2.1-aspnetcore-runtime |
COPY | 将linux的文件复制到容器 | COPY ./files /app/files |
WORKDIR /app | 容器工作目录 | |
EXPOSE | 声明容器运行的服务端口 | EXPOSE 80 443 |
RUN | 构建镜像时运行的shell命令 | RUM mkdir ttt RUM yum install httpd |
ENTRYPOINT ["dotnet", "CoreTest.dll"] | ||
MAINTAINER | 镜像维护者的信息:姓名电话邮箱等 | |
CMD | 运行容器时执行的命令 | CMD /usr/sbin/sshd -D |
ENV | 声明容器内环境变量 | ENV MYSQL_ROOT_PASSWORD 12345 |
ADD | 添加文件或目录到镜像,如果是URL或者压缩包会自动下载或解压 | ADD test.tar.gz /src/test |
COPY | k拷贝文件或目录到镜像。不会下载url或解压压缩包 | COPY ./start.sh /src/start.sh |
ENTRYPOINT | 运行容器时执行的命令 | ENTRYPOINT /bin/bash -c 'start.sh' |
VOLUME | 指定容器挂在到宿主机自动生成的目录或其他容器 | VOLUME ["var/lib/mysql"] |
USER | 为run、cmd、ENTRYPOINT执行命令指定用户 | |
WORKDIR | 为run、cmd、ENTRYPOINT、COPY、ADD设置默认的工作目录 | |
HEALTHCHECK | 健康检查 | |
ARG | 构建镜像时指定一些参数 |
四、其它
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项; -d: 后台运行容器,并返回容器ID; -i: 以交互模式运行容器,通常与 -t 同时使用; -p: 端口映射,格式为:主机(宿主)端口:容器端口 -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用; --name="nginx-lb": 为容器指定一个名称; --dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致; --dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致; -h "mars": 指定容器的hostname; -e username="ritchie": 设置环境变量; --env-file=[]: 从指定文件读入环境变量; --cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行; -m :设置容器使用内存最大值; --net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型; --link=[option]: 添加链接到另一个容器; --expose=[option]: 开放一个端口或一组端口; --restart=[option] :no - 容器退出时,不重启容器;on-failure - 设置尝试重新启动容器的最大次数(--restart=on-failure:10); always - 无论退出状态是如何,都重启容器;如果创建时未指定 --restart=always ,可通过update 命令;docker update --restart=always 容器ID -v [path1]:[path2] 挂载路径;例如:-v /opt/site:/app/UpFiles ;将linux上的/opt/site 和docker容器中的/app/UpFiles挂载在一起 |