您的位置:首页 > 运维架构 > Docker

Centos安装docker以及docker的一些常用命令

2017-11-27 23:27 841 查看
rpm -Uvh http://dl.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm[/code] 
yum -y install docker-io


# 仅此一条命令就可以搞定;

service docker start


# 启动docker

chkconfig docker on


# 加入开机启动

docker pull centos:latest


#从docker.io中下载centos镜像到本地
/var/lib/docker/graph


docker images


#查看已下载的镜像

docker run -i -t centos /bin/bash


#启动一个容器

docker imr image_id


#删除镜像

docker rmi $(docker images | grep none | awk '{print $3}' | sort -r)


#删除所有镜像

docker ps -a


#查看所有容器(包括正在运行和已停止的)

docker start container


#开启一个容器(注意container_id和image_id是完全不一样de)

docker logs <容器名orID> 2>&1 | grep '^User: ' | tail -n1


#查看容器的root用户密码,因为docker容器启动时的root用户的密码是随机分配的。所以,通过这种方式就可以得到redmine容器的root用户的密码了

docker logs -f <容器名orID>

#查看容器日志

docker rm $(docker ps -a -q)

#删除所有容&删除单个容器docker rm <容器名orID>

docker run --name redmine -p 9003:80 -p 9023:22 -d -v /var/redmine/files:/redmine/files -v    /var/redmine/mysql:/var/lib/mysql sameersbn/redmine


#运行一个新容器,同时为它命名、端口映射、文件夹映射。以redmine镜像为例

docker run -i -t --name sonar -d -link mmysql:db  tpires/sonar-server


# 一个容器连接到另一个容器&sonar容器连接到mmysql容器,并将mmysql容器重命名为db。这样,sonar容器就可以使用

db的相关的环境变量了。

# 当需要把一台机器上的镜像迁移到另一台机器的时候,需要保存镜像与加载镜像。

机器a

docker save busybox-1 > /home/save.tar


使用scp将save.tar拷到机器b上,然后:

docker load < /home/save.tar


docker build -t <镜像名> <Dockerfile路径>


#构建自己的镜像

安装docker-compose

先:
yum install python-pip.noarch


#对安装好的pip进行一次升级

sudo pip install --upgrade pip


再:
pip install docker-compose


另一种方式:

curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose


chmod +x /usr/local/bin/docker-compose


若/usr/bin 下找不到命令,则
cp /usr/local/bin/docker-compose /usr/bin/
下即可

最后
docker-compose -version
查看

docker升级到最新版本

1:首先执行
docker -v
, 查看当前版本

2:执行:
rpm -qa | grep docker
, 查看当前存在的docker旧版

有就执行
apt remove XXXXX
或者
yum remove XXXX
命令将其删除,没有就进行下一步

(我就没有旧版,直接安装新版本)

3:从源下载最新版本:
curl -fsSL https://get.docker.com/ | sh


最后出现该画面表明更新完毕:

4:这时候重新启动docker 服务:
systemctl restart docker


5:查看版本:
docker version # docker -v


当我试图启动一个现有的容器,我得到了类似的东西:

# docker start jenkins
Error response from daemon: Unknown runtime specified docker-runc
Error: failed to start containers: jenkins


我的解决方案是遵循这些步骤:

找到麻烦的容器的ID: docker ps -a

在其中找到它的目录 /var/lib/docker/containers//

在那里,查找 hostconfig.json 并删除oci 该Runtime 属性的 值 。

重启docker进程 sudo systemctl restart docker (如果你有systemd的话)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  centos docker