定制修改上传自己的docker镜像
什么是docker? Dockers是有能力打包应用程序及其虚拟容器,可以在任何Linux服务器上运行的依赖性工具,这有助于实现灵活性和便携性,应用程序在任何地方都可以运行,无论是公有云、私有云、单机等。 在arukas.io搞了个免费docker之后,开始折腾着弄个自己的docker公有镜像并最终放在arukas的docker里面运行,这里涉及到的知识包括
1.安装docker 2.拉取docer镜像 3.修改现有docker并保存 4.上传到docker仓库并验证。 5.其他常用docker命令
1.安装并运行docer服务
yum install docker -y
service docker start
2.拉取docer镜像
这里以nginx为例
docker pull nginx
3.修改现有docker并保存
启动容器
docker run -it -d --name my_nginx nginx
命令注释:
-
-it : 进行交互式操作
-
-d : 等同于 -d=true,容器将会在后台运行,不然执行一次命令后,退出后,便是exit状态了。
-
–name : 容器启动后的名字,默认不指定,将会随机产生一个名字。或者使用 -name=“containers_name”
-
centos:使用的镜像名称
进入容器,添加自定义内容到index.html
docker exec -it my_nginx /bin/bash
echo "my first docker :my-nginx\nby bobobk.com" > /usr/share/nginx/html/index.html
这样简单的docker配置就完成了,exit退出容器。 现在可以生成一个新的docker 镜像了。 用以下命令保存现有容器
docker commit my_nginx chunjiangmuke/nginx:latest
这里chunjinagmuke为docker中注册账号的名字。
4.验证镜像,并上传到镜像仓库
docker images
可以看到镜像已经保存,接下来就是上传到docker镜像仓库了。 首先登陆docker,如果没有账号,在docker官方网站注册
docker login
按提示输入账号密码即可。 上传my_nginx镜像到公共仓库
docker push chunjiangmuke/nginx:latest
浏览器登陆docker查看刚上传的docker 完成,成功上传。
5.运行docker中nginx并映射端口
docker run -p 8080:80 --name nginx -d chunjiangmuke/nginx
wget 127.0.0.1:8080
cat index.html
可以看到内容 my first docker :nginx 参数:
- -p 端口映射,把docker中的80端口映射到本地8080 -p 8080:80
- –name 取的名字,随意
- -d 这里是image的名字,这里使用刚刚保存的chunjiangmuke/nginx
6.其他常用docker命令
列出所有的容器 ID
docker ps -aq
停止所有的容器
docker stop $(docker ps -aq)
删除所有的容器
docker rm $(docker ps -aq)
删除所有的镜像
docker rmi $(docker images -q)
本文介绍如何从头开始修改并上传第一个docker的完整过程。
- 原文作者:春江暮客
- 原文链接:https://www.bobobk.com/459.html
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。