docker安装及常用命令

rpm -Uvh http://dl.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
  • 1

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
  • 1

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

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

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

db的相关的环境变量了。

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

机器a

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

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

docker load < /home/save.tar
  • 1

docker build -t <镜像名> <Dockerfile路径> 
#构建自己的镜像

安装docker-compose

先:yum install python-pip.noarch

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

sudo pip install --upgrade pip
  • 1

再: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
  • 1

再 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
  • 1
  • 2
  • 3

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

找到麻烦的容器的ID: docker ps -a 
在其中找到它的目录 /var/lib/docker/containers// 
在那里,查找 hostconfig.json 并删除oci 该Runtime 属性的 值 。 
重启docker进程 sudo systemctl restart docker (如果你有systemd的话)

posted @ 2018-06-25 10:17  淼如  阅读(258)  评论(0)    收藏  举报