查看“Docker镜像、仓库与容器”的源代码
←
Docker镜像、仓库与容器
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==Docker仓库== 实验要求:使用master和slave两台设备 基础准备:两天节点都已安装好docker-ce 构建私有仓库 运行Registry cs /opt (进入opt目录) ./image.sh(导入所有节点) 将Registry镜像运行并生成一个容器 docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000--restart=always --name registry registry:latest 查看安装的docker <nowiki>docker images</nowiki> <nowiki>ll</nowiki> <nowiki>cat image.sh</nowiki> <nowiki>ll images/</nowiki> 查看容器运行情况 docker ps 编辑信息 vi /etc/docker/daemon.json 添加本机ip { "insecure-registries":[ip地址:5000"] } 重启服务 Systemctl daemon-reload Systemctl restart docker 将该镜像标记ip:5000/centos:latest docker tag centos:latest ip:5000/centos:latest 用docker push 上传标记的镜像 docker push ip:5000/centos:latest 查看仓库中的镜像(使用curl) curl -L http://ip:5000/v2/_catalog 使用浏览器地址查看 ip:5000/v2/_catalog 看是否上传成功 拉取镜像 登陆Slave节点,配置私有仓库地址 vi /etc/docker/daemon.json { "insecure-registries":["ip:5000"] } 重启服务 Systemctl daemon-reload systemctl restart docker 拉取镜像并查看结果 docker pull ip:5000/centos:latest docker images ===Docker镜像=== 实验要求:使用master 基础准备:该节点已安装好docker-ce '''当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载''' ===查看镜像列表=== docker images REPOSITORY:表示镜像的仓库源 TAG:镜像的标签 IMAGE ID:镜像ID CREATED:镜像创建时间 SIZE:镜像大小 ===运行容器=== docker run -t -i latest /bin/bash ===参数说明=== -i: 交互式操作。 -t: 终端。 latest 这是指用最高版本的镜像为基础来启动容器。 /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash ===获取一个新的镜像=== docker pull +下载版本号 ===查找镜像=== docker search httpd 参数说明: NAME: 镜像仓库源的名称 DESCRIPTION: 镜像的描述 OFFICIAL: 是否 docker 官方发布 stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。 AUTOMATED: 自动构建。 ===拖取镜像=== docker pull httpd ===下载完成后,使用下方命令使用该镜像=== docker run httpd ===删除镜像=== docker rmi 镜像名称 ===构建镜像=== ===创建Dockerfile文件夹=== touch Dockerfile ===创建新的镜像=== vi Dockerfile 进入编辑添加下方信息 FROM centos:latest MAINTAINER Fisher "fisher@sudops.com" RUN /bin/echo 'root:本机密码' |chpasswd RUN useradd runoob RUN /bin/echo 'runoob:本机密码' |chpasswd RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local EXPOSE 22 EXPOSE 80 CMD /usr/sbin/sshd -D 每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的。 第一条FROM,指定使用哪个镜像源 RUN 指令告诉docker 在镜像内执行命令,安装了什么 ===查看Dockerfile=== cat Dockerfile ===通过docker build构建一个镜像=== docker build -t runoob/centos:latest ===查看已经创建的镜像列表=== docker images ===使用镜像创建容器=== docker run -t -i runoob/centos:latest /bin/bash ===查看=== id runood ==容器== ===重看Docker客户端所有命令选项=== docker ==容器的使用== ===获取镜像=== docker pull centos ===启动容器=== docker run -it centos /bin/bash 参数说明: -i: 交互式操作。 -t: 终端。 buntu: ubuntu 镜像。 /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。 ===退出终端=== exit ===查看多有容器命令=== docker ps -a ===使用docker start启动一个已停止的容器=== docker start 容器名称 ===停止一个容器=== docker stop 容器ID ===停止的容器重启=== docker restart 容器ID ===后台运行=== docker run -itd --name linux-test linux /bin/bsh ==进入容器== '''docker exec 此命令退出容器终端,不会导致容器的停止''' docker exec -it 容器号 /bin/bash ==导出和导入容器== ===导出容器=== docker export 容器ID > centos.tar '''导出容器 1e560fca3906 快照到本地文件 ubuntu.tar 这样将导出容器快照到本地文件。''' ===导入容器快照=== '''使用 docker import 从容器快照文件中再导入为镜像 以下实例将快照文件 centos.tar 导入到镜像 test/centos:v1:''' cat docker/centos.tar | docker import - test/centos:v1 ===删除容器=== docker rm -f 容器ID ===清理掉所有处于终止状态的容器=== docker container prune ==运行一个web应用== docker pull training/webapp #载入镜像 docker run -d -p training/webapp python app.py 参数说明: -d:让容器在后台运行。 -P:将容器内部使用的网络端口随机映射到我们使用的主机上。 ===查看WEB应用容器=== docker ps #会发现下方多了端口信息 ===可以通过浏览器访问WEB应用=== '''Docker 开放了 5000 端口(默认 Python Flask 端口)映射到主机端口 32769 上。 这时我们可以通过浏览器访问WEB应用。'''
返回至
Docker镜像、仓库与容器
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息