什么是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_image_check 可以看到镜像已经保存,接下来就是上传到docker镜像仓库了。 首先登陆docker,如果没有账号,在docker官方网站注册

docker login

按提示输入账号密码即可。 上传my_nginx镜像到公共仓库

docker push chunjiangmuke/nginx:latest 

浏览器登陆docker查看刚上传的docker docker_hub_image 完成,成功上传。

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的完整过程。