Docker基础

    技术2023-04-02  86

    Docker 基础命令操作

    一、镜像操作

    1. 获取镜像

    //获取ubuntu镜像 docker pull ubuntu //获取最新版本ubuntu镜像 docker pull ubuntu:latest //获取15.10版本ubuntu镜像 docker pull ubuntu:15.10

    2. 查找镜像

    //查找ubuntu镜像 docker search ubuntu

    3. 删除镜像

    //删除镜像 docker rmi Name(镜像name) //删除镜像 docker rmi ID(镜像ID)

    4. 自定义镜像

    1.编写Dockerfile文件

    2.构建镜像

    * -t :指定要创建的目标镜像名 * . :Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径 //runoob/centos目标镜像REPOSITORY 6.7为TAG docker build -t runoob/centos:6.7 .

    //将本地容器提交 生产对应镜像 //e218edb10161本地容器ID runoob/ubuntu创建的目标镜像 v2为目标镜像TAG

    -m: 提交的描述信息

    -a: 指定镜像作者

    docker commit -m=“has update” -a=“runoob” e218edb10161 runoob/ubuntu:v2

    ##二、容器操作##

    容器状态:

    created(已创建)restarting(重启中)running(运行中)removing(迁移中)paused(暂停)exited(停止)dead(死亡)

    1. 创建容器

    -t: 终端 -i: 交互式操作 ubuntu:ubuntu 镜像 /bin/bash :放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash //根据ubuntu镜像 创建一个对应容器 docker run -i -t ubuntu /bin/bash
    -d:默认创建之后,不会进入容器 --name:容器名字,创建容器的名字为ubuntu-test //根据ubuntu镜像 创建一个对应容器 docker run -itd --name ubuntu-test ubuntu /bin/bash

    2. 进入容器

    在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:

    docker attach:如果从这个容器退出,会导致容器的停止。

    docker exec:推荐大家使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。

    //containerID 容器ID docker attach containerID //containerID 容器ID docker exec -it containerID /bin/bash

    3.删除容器

    //-f参数 表示强制删除 docker rm -f containerID

    4.容器导入/导出

    //containerID 容器ID > ubuntu.tar压缩包 docker export containerID > ubuntu.tar // docker import 从容器快照文件中再导入为镜像 //filePath.tar导入文件路径 test/ubuntu为镜像REPOSITORY v1为TAG docker import filePath.tar test/ubuntu:v1

    ##三、运行Web应用##

    1.载入镜像

    docker pull training/webapp # 载入镜像

    2.创建容器

    * -P(大写) :是容器内部端口随机映射到主机的高端口。 * -p(小写) : 是容器内部端口绑定到指定的主机端口。 * -d:让容器在后台运行。 * -P(大写):将容器内部使用的网络端口随机映射到我们使用的主机上。 docker run -d -P training/webapp python app.py

    3.访问应用

    通过docker ps命令查看此容器映射到本地的端口信息,在浏览器输入 本机IP:端口号

    通过 -p(小写) 参数来设置不一样的端口: docker run -d -p 127.0.0.1:5001:5000 training/webapp python app.py

    ##四、Docker容器互联##

    1.新建网络

    * -d:参数指定 Docker 网络类型,有 bridge、overlay。 //创建一个新的 Docker 网络 //test-net为网络名称 docker network create -d bridge test-net

    2.连接容器

    //运行一个容器名称test1。并连接到新建的 test-net 网络: docker run -itd --name test1 --network test-net ubuntu /bin/bash //打开新的终端,再运行一个容器名称test2。并加入到 test-net 网络: docker run -itd --name test2 --network test-net ubuntu /bin/bash

    3.测试

    //安装ping工具 apt-get update apt install iputils-ping //进入到不同容器 ping test1 ping test2
    Processed: 0.017, SQL: 9