Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台,为环境的部署带来了很多的好处和帮助,最近开始学习和使用docker,将使用过程中遇到的问题和总结分享出来希望对大家有帮助。
一.docker的安装和卸载:
首先看一下docker的安装,我申请了一个阿里云服务器的试用版(地址http://free.aliyun.com/,每个账号都可以申请试用15天,用来学习还是不错的),系统是centos6.7,具体安装步骤为:
a. $ sudo yum update
b. $ sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
EOF
c.sudo yum install docker-engine
d.这样装好过后,docker的进程已经是守护进程了,所以通过:sudo service docker start可以直接启动docker;
e.然后执行:sudo docker run hello-world,如果出现以下结果,表示docker已经安装成功:
其次由于docker需要root权限才能运行,所以需要创建docker组和该组下面的用户,就不用每次都需要root权限进行docker的操作,具体步骤为:
a.创建用户并设置密码:useradd wjx
passwd wjx
b.将新建docker组,并将用户wjx用户加入到docker组中:sudo usermod -aG docker wjx
c.su wjx切换到用户wjx,然后执行docker命令,没有提示权限限制,表示已经成功;
如果想重新安装docker,需要对docker进行卸载,具体步骤为:
a.查看所有安装的文件:
yum list installed | grep docker
b.卸载:
sudo yum -y remove docker-engine.x86_64
c.删除docker的仓库:
rm -rf /var/lib/docker
二.docker的使用
1.查看当前Docker的版本
docker version
2.查看当前系统Docker信息
docker info
3.查看宿主机上的镜像,Docker镜像保存在/var/lib/docker目录下:
docker images
4.从Docker hub上下载某个镜像:
docker pull ubuntu:latest
5.下载完后启动开始下载的镜像,使用docker run命令,启动Ubuntu:
docker run -i -t ubuntu /bin/bash
然后查看系统信息:
已经Ubuntu的IP信息,可以看到主机和Ubuntu在同一个局域网的网段中,还可以设置容器的网络方式:
6.查看当前有哪些容器正在运行,使用docker ps(查看所有的用户docker ps -a):
看到对应的:
7.启动或停止某个container使用docker start/stop container_id:
8.通过docker进入Ubuntu的命令行后,然后Ubuntu继续运行,退出命令行的快捷键为:"ctrl+p" + "ctrl+q"
9.重新进入Ubuntu docker容器的方式为:docker attach container_id;
10.搜索docker hub上面的镜像:docker search tomcat
11.查看运行的container的日志用 docker logs container_id;
1.启动registry:
docker run -d -p 5000:5000 --name registry registry:2
2.从docker hub拉取image:
docker pull ubuntu
3.为image打一个标签方便识别是push到那个仓库:
docker tag ubuntu localhost:5000/myfirstimage
4.push image到对应的仓库:
docker push localhost:5000/myfirstimage
5.从仓库拉取(localhost改成ip可以在其他地方拉取):
docker pull localhost:5000/myfirstimage
四.docker构建自己的镜像
第一种通过docker commit 将本地的镜像进行复制:
docker commit -m="test docker commit" bd32d21dbb67 ubuntu_new //bd32d21dbb67为container_id ubuntu_new为新的镜像的名字
第二种是通过dockerfile的方式来创建:
新建一个dockerfile内容为:
FROM ubuntu
RUN mkdir /wjx
RUN echo "hello world" > /wjx/greeting
VOLUME /wjx
然后执行:
docker build --rm --tag localhost:5000/myfirstimage .
就可以创建一个镜像。
也是才开始用docker,其中的好处和用法还需要进一步的探索和学习,还需要进一步在服务器中运用,下一篇博客将介绍用docker来搭建自己的maven的nexus仓库。