企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
CentosOS Docker安装 Docker支持以下的64位centos安装: To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. 可以通过命令**docker command --help**更深入的了解指定的 Docker 命令使用方法。 例如我们要查看**docker stats**指令的具体使用方法: ~~~ runoob@runoob:~# docker stats --help ~~~ ~~~ docker run -it ubuntu /bin/bash ~~~ * **\-i**: 交互式操作。 * **\-t**: 终端。 * **ubuntu**: ubuntu 镜像。 * **/bin/bash**:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。 ~~~ docker start b750bbbcfd88 ~~~ ~~~ docker run -itd --name ubuntu-test ubuntu /bin/bash ~~~ 加了-d参数默认不会进入容器,想要进入容器需要使用指令**docker exec**(下面会介绍到)。 停止一个容器 ~~~ docker stop <容器 ID> ~~~ ### 进入容器 在使用\*\*-d\*\*参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入: * **docker attach** * **docker exec**:推荐大家使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。 ### 导出和导入容器 如果要导出本地某个容器,可以使用**docker export**命令。 ~~~ docker export 1e560fca3906 > ubuntu.tar ~~~ ~~~ cat docker/ubuntu.tar | docker import - test/ubuntu:v1 ~~~ 此外,也可以通过指定 URL 或者某个目录来导入,例如: ~~~ docker import http://example.com/exampleimage.tgz example/imagerepo ~~~ ### 删除容器 删除容器使用**docker rm**命令: ~~~ docker rm -f 1e560fca3906 ~~~ 下面的命令可以清理掉所有处于终止状态的容器。 $ docker container prune 我们可以使用 **docker images** 来列出本地主机上的镜像。 我们如果要使用版本为15.10的ubuntu系统镜像来运行容器时,命令如下: ~~~ runoob@runoob:~$ docker run -t -i ubuntu:15.10 /bin/bash ~~~ ~~~ docker search httpd ~~~ ~~~ docker run httpd ~~~ ~~~ docker rmi hello-world ~~~ 我们可以通过命令 docker commit 来提交容器副本。 ~~~ docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2 ~~~ **docker images** 使用我们的新镜像**runoob/ubuntu**来启动一个容器 ~~~ runoob@runoob:~$ docker run -t -i runoob/ubuntu:v2 /bin/bash ~~~ ### 构建镜像 我们使用命令**docker build** , 从零开始来创建一个新的镜像。为此,我们需要创建一个 Dockerfile 文件,其中包含一组指令来告诉 Docker 如何构建我们的镜像 通过 docker build 命令来构建一个镜像。 ~~~ docker build -t runoob/centos:6.7 . ~~~ * **\-t**:指定要创建的目标镜像名 * **.**:Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径 容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过-P或-p参数来指定端口映射。 我们使用\*\*-P**参数创建一个容器,使用**docker ps\*\*可以看到容器端口 5000 绑定主机端口 32768。 * **\-P :是容器内部端口随机**映射到主机的高端口。 * **\-p :是容器内部端口绑定到指定**的主机端口。 外,我们可以指定容器绑定的网络地址,比如绑定 127.0.0.1。 ~~~ docker run -d -p 127.0.0.1:5001:5000 training/webapp python app.py ~~~ 默认都是绑定 tcp 端口,如果要绑定 UDP 端口,可以在端口后面加上\*\*/udp\*\*。 **docker port**命令可以让我们快捷地查看端口的绑定情况。 当我们创建一个容器的时候,docker 会自动对它进行命名。另外,我们也可以使用\*\*--name\*\*标识来命名容器,例如: ~~~ docker run -d -P --name runoob training/webapp python app.py ~~~ 下面先创建一个新的 Docker 网络。 ~~~ docker network create -d bridge test-net ~~~ **\-d**:参数指定 Docker 网络类型,有 bridge、overlay。 通过network选项加入带指定网络。 下面先创建一个新的 Docker 网络。 ~~~ docker network create -d bridge test-net ~~~ 运行一个容器并连接到新建的 test-net 网络: ~~~ docker run -itd --name test1 --network test-net ubuntu /bin/bash ~~~ 给已有镜像制作新tag ~~~ docker tag ubuntu:18.04 username/ubuntu:18.04 ~~~ ~~~ docker image ls ~~~ ~~~ docker push username/ubuntu:18.04 ~~~ ~~~ docker search username/ubuntu ~~~ ### 什么是 Dockerfile? Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。 ### 使用 Dockerfile 定制镜像 Dockerfile 的指令每执行一次都会在 docker 上新建一层。所以过多无意义的层,会造成镜像膨胀过大。例如: **## Docker Compose** Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。 <br/><br/> ## **dockerfile** FROM指定基础镜像,即当前镜像是基于哪个镜像的 MAINTAINER指定作者 RUN指定构建过程中需要运行的命令 ENV设置环境变量 WORKDIR指定默认的工作目录,即进入容器后默认进入的目录 VOLUME创建挂载点,也称容器数据卷,用于数据共享和持久化 CMD指定容器启动时要运行的命令,与RUN不同的是,这些命令不是在镜像构建过程中执行的 ENTRYPOINT指定容器启动时要运行的命令,与CMD有区别 COPY拷贝文件/目录到镜像中 ADD拷贝文件到镜像中,且会自动解压缩 EXPOSE指定对外暴露的端口 COPY与ADD的区别,COPY只能是本地文件且不会自动解压文件,不能访问网络资源,add可以访问网络资源,类似wget。 Dockerfile其实可以看做一个命令集。每行均为一条命令。每行的第一个单词,就是命令command。后面的字符串是该命令所要接收的参数。比如ENTRYPOINT /bin/bash。ENTRYPOINT命令的作用就是将后面的参数设置为镜像的entrypoint。 https://www.cnblogs.com/ExMan/p/12982618.html 放个链接在这里,要是又忘了的话。