Docker操作步骤列表

安装引擎
yum install docker -y

管理引擎
systemctl start docker
systemctl stop docker
systemctl restart docker
systemctl status docker
systemctl enable docker
systemctl disable docker

管理火墙
systemctl start firewalld
systemctl stop firewalld

卸载引擎
。。。

搜索镜像
docker search 关键字

载入镜像
docker pull docker.io/rpmbuild/centos7

查询镜像
docker images
docker inspect 镜像ID

加签镜像
docker tag 仓库名称:[标签] 新仓库名称:[新标签]

删除镜像
docker rmi 仓库名称:标签
docker rmi 镜像ID

更新镜像
进入容器:docker exec -it b29df0f02d1b /bin/bash
执行更新:apt-get update
执行提交:docker commit -m="has update" -a="lihg" b29df0f02d1b lihg/cenos7:cenos7v2

构建镜像
。。。。。。

临时模式容器
docker run centos:centos7 /bin/echo "Hello world"

交互模式容器
docker run -i -t centos:centos7 /bin/bash
docker run -it centos:centos7 /bin/bash
-i: 允许对容器内的标准输入 (STDIN) 进行交互。
-t: 在容器内指定一个伪终端。

后台模式容器
docker run -d centos:centos7 /bin/sh -c "while true; do echo hello world; sleep 1; done"

交互、终端、后台:
docker run -itd --name centos7-test centos:centos7 /bin/bash

输出详情介绍:
CONTAINER ID: 容器 ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: 容器的创建时间。
STATUS: 容器状态。
PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
NAMES: 自动分配的容器名称。

状态有7种:
created(已创建)
restarting(重启中)
running 或 Up(运行中)
removing(迁移中)
paused(暂停)
exited(停止)
dead(死亡)


在宿主主机内,查看容器内的标准输出:
docker logs 32924edae1b8
docker logs kind_lalande

启动容器
docker start b29df0f02d1b

停止容器
docker stop 32924edae1b8
docker stop kind_lalande

重启容器
docker restart b29df0f02d1b

查看所有容器
docker ps -a

查看所有容器
docker ps

查看最后一次创建的容器
docker ps -l

进入容器:
docker exec -it b29df0f02d1b /bin/bash

退出容器:
exit 或  CTRL+D

导出容器到文件
docker export b29df0f02d1b > centos7-test.tar

导入镜像从文件
cat centos7-test.tar | docker import - centos70:centos702
docker import http://example.com/exampleimage.tgz centos73:centos731

删除容器
docker rm -f b29df0f02d1b

清理掉所有处于终止状态的容器
docker container prune

docker search training/webapp #搜索镜像
docker pull docker.io/training/webapp #载入镜像
docker run -d -P docker.io/training/webapp python app.py #运行容器
-d:让容器在后台运行。
-P:将容器内部使用的网络端口随机映射到我们使用的主机上。
docker ps #查看容器
http://192.168.3.236:32768/ #使用容器
Hello world!
docker stop b31ff5de80c0
docker rm -f b31ff5de80c0

docker run -d -p 5000:5000 training/webapp python app.py
http://192.168.3.236:5000/
Hello world!

查看容器的映射端口:
docker port 0c6fe31457cf
docker port upbeat_kowalevski

查看容器的标准输出:
docker logs -f 0c6fe31457cf

查看容器的应用进程:
docker top 0c6fe31457cf

宿主机IP地址:192.168.3.236

给Docker建立一个桥:
docker network create -d bridge bridge-001

运行一个容器并连接到桥
docker run -itd --name bridge-001-a1 --network bridge-001 docker.io/training/webapp /bin/bash
docker run -itd --name bridge-001-b2 --network bridge-001 docker.io/training/webapp /bin/bash

docker exec -it bridge-001-a1 /bin/bash
docker exec -it bridge-001-b2 /bin/bash

ping bridge-001-a1
ping bridge-001-b2

???????????????????????
apt-get update
apt install iputils-ping
???????????????????????

配置 DNS
在宿主机的 /etc/docker/daemon.json 文件中增加以下内容来设置全部容器的 DNS:
{
  "dns" : [
    "114.114.114.114",
    "8.8.8.8"
  ]
}
设置后,启动容器的 DNS 会自动配置为 114.114.114.114 和 8.8.8.8。
配置完,需要重启 docker 才能生效。

????此处有问题:
查看容器的 DNS 是否生效可以使用以下命令,它会输出容器的 DNS 信息:
docker run -it --rm  -h testdns docker.io/training/webapp  cat etc/resolv.conf
???

docker start bridge-001-a1
ping www.baidu.com

手动指定容器的DNS:
docker run -itd --rm -h testdnsserver  --dns=114.114.114.114 --dns-search=www.baidu.com docker.io/training/webapp
参数说明:
--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。


Docker 仓库管理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值