在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
实验环境:
本文分为四个部分: 第一部分: 安装docker 第一部分: 安装docker # 通过yum源安装docker sudo yum -y install docker # 启动docker sudo systemctl start docker # 开机自启 sudo systemctl enable docker 第二部分: 镜像的操作 查找并下载docker镜像(以centos为例) # 查找centos镜像 docker search centos # 下载centos镜像 sudo docker pull docker.io/centos:latest 列出镜像 sudo docker image ls 删除镜像 sudo docker image rm 4655e9997674 第三部分: 容器的操作 创建容器并进入 sudo docker run -t -i --name zhaoolee-centos docker.io/centos:latest /bin/bash 参数说明: -t分配一个伪终端并绑定到容器的标准输入,-i 让容器的标准输入保持打开 查看所有容器 sudo docker ps -a 启动容器 sudo docker start zhaoolee-centos 查看当前运行的容器 sudo docker ps 停止容器 sudo docker stop zhaoolee-centos 进入容器环境 sudo docker attach zhaoolee-centos
向容器内部发送指令 我们可以在不进入容器环境的情况下, 向容器内部发送指令 sudo docker exec zhaoolee-centos touch 123.txt 删除容器 将容器停止后, 可以删除容器 sudo docker rm zhaoolee-centos (选学)docker高级命令 交换文件 通过 我们在docker容器内部新建一个 即使容器处于未激活状态, 也是可以进行文件交换的 将修改后的容器发布为镜像 # 将修改后的容器发布为镜像, `-a`表示作者, `-m`表示对本次修改的说明 sudo docker commit -a "zhaoolee" -m "add 123.txt 456.txt" zhaoolee-centos zhaoolee-centos:0.1 # 基于新建的镜像创建容器 sudo docker run -t -i --name my-centos zhaoolee-centos:0.1 /bin/bash 查看镜像的信息 # 查看刚刚新建的镜像信息 sudo docker history zhaoolee-centos:0.1 查看容器内变动日志 sudo docker diff zhaoolee-centos 查看镜像和容器的详细信息 # 查看镜像的详细信息 sudo docker inspect zhaoolee-centos:0.1 # 查看容器的详细信息 sudo docker inspect zhaoolee-centos 第四部分: 私有仓库的创建 1. 下载私有仓库注册服务器的镜像 sudo docker pull registry:latest 2. 创建一个注册服务器容器 sudo docker run -d -p 5000:5000 --name server-registry -v /tmp/registry:/tmp/registry docker.io/registry:latest 参数说明 -d容器在后端运行, -p 5000:5000在容器的5000端口运行并映射到外部系统的5000端口, --name server-registry容器命名为server-registry, -v /tmp/registry /tmp/registry把宿主机的目录/tmp/registry挂载到容器目录/tmp/registry 3. 为本地镜像添加标签,并将其归入本地仓库 为本地镜像添加标签 sudo docker tag zhaoolee-centos:0.1 localhost:5000/zhaoolee-centos:0.1 将被标记的本地镜像, push到仓库 sudo docker push localhost:5000/zhaoolee-centos:0.1 4.测试本地仓库的的可用性 在虚拟机内网,开启另一台ubuntu16.04虚拟机, unbutu16.04尝试从centos7获取刚刚创建的镜像zhaoolee-centos:0.1 sudo docker pull 192.168.214.156:5000/zhaoolee-centos:0.1 # 解决安装过程中的问题:解决: Error response from daemon: Get https://192.168.214.156:5000/v2/: http: server gave HTTP response to HTTPS client echo '{ "insecure-registries":["192.168.214.156:5000"] }' > /etc/docker/daemon.json docker作为一种新兴的虚拟化方式,无论是执行速度、内存损耗或者文件存储速度,都要比传统虚拟机技术更高效, docker本身支持类似git的操作, 让应用的迭代部署更为简单高效, 对于一些依赖非常复杂的应用, 我们可以直接下载它的docker版本, 开箱即用, 省时省力, 同时为运维人员创造了更多偷懒的机会~ 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持极客世界。 |
请发表评论