https://www.myziyuan.com/
- 551108330
- 步骤1:为我们的容器创建第一个镜像# 以 centos 镜像作为基础镜像,我们启动自己的容器并在其中执行/bin/bash命令# 注:-t -i 参数用于创建一个虚拟的命令行。sudo docker run -t -i centos /bin/bash 现在我们已经成功的运行了自己的第一个容器,并且进入到容器的命令行界面中。在容器中,我们执行下面的命令:yum -y update # 更新软件包yum install which # 安装which命令yum install git # 安装Git安装完成后,按 Ctrl + d 来退出容器的命令行。# 执行sudo docker ps -a,可以看到被我们终止的容器CONTAINER ID IMAGE COMMAND CREATED……da9031d3568f centos:6.4 /bin/bash 5 minutes ago…..把我们所做的改变提交到一个新的容器:# 这里我们创建一个自己的基础容器,容器中安装好了文章中所需的常用工具。读者的容器 id 可能与文章中的有所不同,以上一步 docker ps -a 的结果为准。sudo docker commit da90 custom/base容器成功提交后,执行 sudo docker images ,我们会看到刚才提交的容器(如下面的结果所示)。我们就以这个容器为基础容器,再来创建一个新的容器。REPOSITORY TAG IMAGE ID CREATED custom/base latest 05b6cecd370b 2 minutes ago centos 6.4 539c0211cd76 10 months ago centos latest 539c0211cd76 10 months ago…步骤2:创建新的容器,并安装 apache# 以 custom/base 容器为基础,运行一个新的容器。sudo docker run -t -i custom/base /bin/bash# 安装 httpdyum install httpd步骤3:再次提交新的容器按 Ctrl + d 来退出容器的命令行,然后执行命令:# 这个命令会把步骤2中我们安装 httpd 带来的改变提交到新的名为 custom/httpd 的容器镜像中。你的容器 id 可能会和文章中有所不同,以 sudo docker ps -a 命令的结果为准。sudo docker commit aa6e2fc0b94c custom/httpd你应该已经发现了,我们创建了一个带有 http 服务器并可以复用的容器镜像。你可以根据这种思想,为自己所需的每个组件都创建一个容器,然后把这些容器复用于开发环境或者生产环境。步骤7:运行 http 服务器# -v will Mount a volume from VM to the container which was also shared from host to Vagrant VM.# -v 参数把主机共享给虚拟机的一个卷挂载到容器中# -p forward VM port 80 to container port 80; VM port 80 is mapped to host port 8080 in Vagrantfile # -p 参数把虚拟机的80端口映射到容器的80端口;虚拟机的80端口在 Vagrantfile 中被绑定到主机的8080端口,也就是:主机8080->虚拟机80->容器80sudo docker run -t -i -p 80:80 -v /vagrant/htdocs:/var/www/html custom/httpd /bin/bash# 启动 Apacheapachectl -k start
- 2021-02-22 21:20:01
- 515680997
- 1. 知识源于实践,动手安装,把基础命令敲几遍是最靠谱的方法!2.新的事物发展的真的很快,书本上的只是简单介绍,不会有很好的实践经验的,最快的学习途径是看官方文档安装,写dockerfile,制作镜像,把基础服务装进docker等等~官方文档,官方文档,官方文档,重要的事情说三遍~3.看牛人博客,牛人博客一般都是讲的核心技术或者亲身实践,比如coolshell博客等。4.最快的学习方法是去教别人,建议多去社区参加一些问答,如果有兴趣可以去翻译一些官方博客~干货5.多去参加一些线下沙龙活动2. Docker技术入门与实战,这本书的内容有点水,不少内容是前后重复,有些命令还有错误。但是里面的例子也是不错的,照着执行下,会有些感觉。第一本Docker书,这本书应该是很熟悉的人写的,里面有不少网上文章没有提到的技巧,值得一读。和网上的教程、攻略相比,买本书扎扎实实的看一遍,还是挺好的。有了这个基础知识,再看网文,可以快速抓到核心要点。但是这些仍然不够,Docker的源码推荐要读。其实Docker源码还是挺简单粗暴的,值得一看。希望帮到你,还望请采纳,谢谢
- 2021-02-11 22:01:24
- 萨满祭司
- 如何使用 Docker 来限制 CPU,内存和 IO等资源,dockerrun命令可以对cpu和内存限制,目前没有直接对磁盘限制Usage:dockerrun[OPTIONS]IMAGE[COMMAND][ARG]Runacommandinanewcontainer-c,--cpu-shares=0CPUshares(relativeweight)-m,--memory=""Memorylimit(format:,whereunit=b,k,morg)docker只依赖于Linuxkernel对LXC的支持,包括cgroup,namespace。换句话说,只要系统的linuxkernel支持LXC,打包在docker里的应用就可以跨Linux系统运行。docker容器里的应用,就是一个文本文件。?
- 2021-02-11 22:01:24