基本概念:
- 镜像(Image)
- 容器(Container)
- 仓库(Repository)
安装要求:需要Centos 6.5以上的版本。最好是7。
常用命令
sudo yum update
设置docker仓库
$ sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
设置docker开机运行
chckconfig docker on
查看已安装镜像
docker images
列出所有container
docker ps -a
获取ubuntu
镜像
sudo docker pull ubuntu:12.04
华丽的分割线,记录自己个人实践当中的一些坑(按照官方文档也碰到这些坑)
一直提示client是1.4,server是1.2的。
解决方案:这时候需要先将之前的都卸载干净
1、查询安装的docker版本
$ yum list installed | grep docker docker-engine.x86_64 1.7.1-0.1.el7@/docker-engine-1.7.1-0.1.el7.x86_64
2、卸载
$ sudo yum -y remove docker-engine.x86_64
3、删除所有图片、容器和卷,运行以下命令:
$ rm -rf /var/lib/docker
然后用脚本来安装(这里理论上应该是可以按照官方文档上面写的找到对应的操作系统版本——比如我的是centos,来安装ce或者ee版,但是按照官方文档来安装总是提示客户端比服务端更新)
curl -fsSL https://get.docker.com|sh
docker version的时候只能看到client的版本信息,看不到server的。
需要使用sudo命令,即sudo docker version,也可以创建docker组,将当前用户加到组中避免频繁敲入sudo命令。
1、sudo groupadd docker 如果已经存在则会提示groupadd: group 'docker' already exists,则跳过此步骤。
2、sudo usermod -aG docker $USER
3、需要登出重进,然后就不需要总是带着sudo命令了。
阿里云的ECS上有虚拟网卡,和docker0冲突,需要修改路由配置:
$ sudo route del -net 172.16.0.0 netmask 255.240.0.0
https://bbs.aliyun.com/read/176982.html?spm=5176.7114037.1996646101.13.MW6VIp&pos=5
使用国内的镜像站
由于网络的原因,如果用docker官方的镜像站下载是非常慢的,因此可以选择国内的docker镜像站点,我这边用的是阿里云的
参见文档:https://cr.console.aliyun.com/?spm=5176.1971733.0.2.z9GLRE#/accelerator
启动镜像后,如何进入容器内部执行shell命令
docker exec进入Docker容器
$ sudo docker ps
$ sudo docker exec -it 775c7c9ee1e1 /bin/bash
使用镜像后,在容器中发现没有root权限的问题
docker run --name myjenkins -d -u 0 -p 8080:8080 -p 50000:50000 -v myjenkins-volumn:/myjenkins-volumn jenkins
官方的启动命令中,需要略微修改一下,加上 -u 0 ,这个0 的意思是覆盖容器中内置的帐号,该用外部传入,这里传入0
代表的是root帐号Id。这样再启动的时候就应该没问题了。
echo -e "停止slark服务"
/usr/local/apache-tomcat-7.0.70/bin/shutdown.sh >/dev/null 2>&1
NUM=$(ps aux |grep "apache-tomcat-7.0.70" |grep -v "grep" |wc -l)
if [ "$NUM" != "0" ];then
SERVICE_PID=$(ps aux |grep "apache-tomcat-7.0.70" |grep -v "grep" |awk -F " " '{print $2}')
kill -9 ${SERVICE_PID}
fi
echo -e "清理文件夹/usr/local/apache-tomcat-7.0.70/webapps/slark/"
rm -rf /usr/local/apache-tomcat-7.0.70/webapps/slark/*
echo -e "复制文件"
cp -a /usr/local/wars/slark.war /usr/local/apache-tomcat-7.0.70/webapps >/dev/null 2>&1
echo -e "启动slark服务"
/usr/local/apache-tomcat-7.0.70/bin/startup.sh >/dev/null 2>&1