docker命令

1、docker 的安装
    curl -sSL https://get.daocloud.io/docker | sh
    
2、启动docker
    sudo systemctl start docker
    
3、通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community 
    sudo docker run hello-world
    
4、设置docker 开机启动
    docker systemctl enable docker
    
5、卸载 docker
    删除安装包:yum remove docker-ce
    删除镜像、容器、配置文件等内容:rm -rf /var/lib/docker
    
6、启动容器(交互式运行容器)
    docker run -it ubuntu /bin/bash
    docker run -i -t ubuntu:15.10 /bin/bash
    
7、启动容器(后台模式)
    docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
    docker run -itd --name ubuntu-test ubuntu /bin/bash
    
8、我们可以通过运行 exit 命令或者使用 CTRL+D 来退出容器

    
9、查看容器内日志
    docker logs 2b1b7a428627
    docker logs -f bf08b7f2cd89  # -f: 让 docker logs 像使用 tail -f 一样来输出容器内部的标准输出
    
10、停止容器
    docker stop 2b1b7a428627
    
11、查看运行中的容器    
    docker ps
    
12、查看所有的容器
    docker ps -a
    
13、获取镜像
    docker pull hello-world

16、启动一个已经停止的容器
    docker start b750bbbcfd88 
    
17、停止一个容器
    docker stop b750bbbcfd88 

18、重启一个容器
    docker restart b750bbbcfd88
    
19、进入容器
    docker exec -it 243c32535da7 /bin/bash
    
20、导出容器 1e560fca3906 快照到本地文件 ubuntu.tar
    docker export 1e560fca3906 > ubuntu.tar
    
21、将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1
        cat docker/ubuntu.tar | docker import - test/ubuntu:v1
    也可以通过指定 URL 或者某个目录来导入
        docker import http://example.com/exampleimage.tgz example/imagerepo
    
22、删除容器
    docker rm -f 1e560fca3906
    docker rm wizardly_chandrasekhar
    
23、运行一个 web 应用
    docker pull training/webapp  # 载入镜像
    docker run -d -P training/webapp python app.py # -d:让容器在后台运行。 -P:将容器内部使用的网络端口随机映射到我们使用的主机上。

24、通过 -p 参数来设置不一样的端口
    docker run -d -p 5000:5000 training/webapp python app.py
    # -P :是容器内部端口随机映射到主机的高端口。 -p : 是容器内部端口绑定到指定的主机端口。
    docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py
    # 指定搬定地址,这样我们就可以通过访问 127.0.0.1:5001 来访问容器的 5000 端口。上面的例子中,默认都是绑定 tcp 端口,如果要绑定 UDP 端口,可以在端口后面加上 /udp。
    
25、查看容器端口的映射情况
    docker port 61986b896237
    docker port adoring_stonebraker 5000
    
26、使用 docker inspect 来查看 Docker 的底层信息。它会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息
    docker inspect 61986b896237

27、查询最后一次创建的容器
    docker ps -l
    
28、列出镜像列表
    docker images

29、加载指定版本的镜像,加载版本为15.10的ubuntu系统镜像来运行容器时
    docker run -t -i ubuntu:15.10 /bin/bash 
    
30、获取一个新的镜像
    docker pull ubuntu:13.10
    docker pull httpd
    
31、查找镜像
    docker search httpd
    
32、运行镜像
    docker run httpd
    
33、删除镜像
    docker rmi hello-world
    
34、创建镜像:当我们从 docker 镜像仓库中下载的镜像不能满足我们的需求时,我们可以通过以下两种方式对镜像进行更改。
    1、从已经创建的容器中更新镜像,并且提交这个镜像
    2、使用 Dockerfile 指令来创建一个新的镜像
    
35、更新镜像后提交新镜像
    docker commit -m="has update" -a="chenchaogui" 4aacb26de6bd chenchaogui/ubuntu:v2  
    # -m: 提交的描述信息 -a: 指定镜像作者 4aacb26de6bd:容器 ID  chenchaogui/ubuntu:v2 指定要创建的目标镜像名
    
36、构建镜像
    通过Dockerfile构建镜像
    docker build -t chenchaogui/centos:6.7 .  # -t :指定要创建的目标镜像名   . :Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径
    运行构建的镜像:docker run -t -i chenchaogui/centos:6.7  /bin/bash

37、设置镜像标签为dev
    docker tag c7beb8e317c7 chenchaogui/centos:dev
    
38、容器命名:当我们创建一个容器的时候,docker 会自动对它进行命名。另外,我们也可以使用 --name 标识来命名容器
    docker run -d -P --name chenchaogui training/webapp python app.py
    
39、创建一个新的Docker网络
    docker network create -d bridge test-net  # -d:参数指定 Docker 网络类型,有 bridge、overlay。其中 overlay 网络类型用于 Swarm mode
    
40、运行一个容器并连接到新建的 test-net 网络:
    docker run -itd --name test1 --network test-net ubuntu /bin/bash
    打开新的终端,再运行一个容器并加入到 test-net 网络:
    docker run -itd --name test2 --network test-net ubuntu /bin/bash
    
41、安装ping命令
    apt-get update
    apt install iputils-ping

42、配置Docker的DNS
    我们可以在宿主机的 /etc/docker/daemon.json 文件中增加以下内容来设置全部容器的 DNS:
    {
      "dns" : [
        "114.114.114.114",
        "8.8.8.8"
      ]
    }

43、在指定容器配置DNS
    docker run -it --rm -h host_ubuntu  --dns=114.114.114.114 --dns-search=test.com ubuntu
    参数说明:
        --rm:容器退出时自动清理容器内部的文件系统。
        -h HOSTNAME 或者 --hostname=HOSTNAME: 设定容器的主机名,它会被写到容器内的 /etc/hostname 和 /etc/hosts。
        --dns=IP_ADDRESS: 添加 DNS 服务器到容器的 /etc/resolv.conf 中,让容器用这个服务器来解析所有不在 /etc/hosts 中的主机名。
        --dns-search=DOMAIN: 设定容器的搜索域,当设定搜索域为 .example.com 时,在搜索一个名为 host 的主机时,DNS 不仅搜索 host,还会搜索 host.example.com。
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芯晖闲云

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值