admin 管理员组文章数量: 1184232
2024年1月5日发(作者:js截取最后几位字符串)
Docker安装配置步骤详解
1. 安装Docker
使用yum命令安装docker,如yum -y install docker-io
2. 配置与启动
vi /etc/sysconfig/docker
启动docker服务: service docker start
将docker加入开机启动
chkconfig docker on
3. 测试
docker version:查看docker的版本号,包括客户端、服务端、依赖的Go等
docker info :查看系统(docker)层面信息,包括管理的images, containers数等
4. 镜像的获取与容器的使用
镜像可以看作是包含有某些软件的容器系统,比如ubuntu就是一个官方的基础镜像,很多镜像都是基于这个镜像“衍生”,该镜像包含基本的ubuntu系统。再比如,hipache是一个官方的镜像容器,运行后可以支持http和websocket的代理服务,而这个镜像本身又基于ubuntu。
4.1 搜索镜像
docker search
命令:docker search ubuntu12.10
4.2 下载镜像
docker pull
命令:docker pull chug/ubuntu12.10x64
4.3 查看镜像
docker images: 列出images
docker images -a :列出所有的images(包含历史)
docker images --tree :显示镜像的所有层(layer)
docker rmi
4.4 使用镜像创建容器
[root@localhost /]# docker run chug/ubuntu12.10x64 /bin/echo hello world
hello world
交互式运行
[root@localhost /]# docker run -i -t chug/ubuntu12.10x64 /bin/bash
root@2161509ff65e:/#
4.5 查看容器
docker ps :列出当前所有正在运行的container
docker ps -l :列出最近一次启动的container
docker ps -a :列出所有的container(包含历史,即运行过的container)
docker ps -q :列出最近一次运行的container ID
4.6 再次启动容器
docker start/stop/restart
docker start [container_id] :再次运行某个container (包括历史container)
docker attach [container_id] :连接一个正在运行的container实例(即实例必须为start状态,可以多个窗口同时attach 一个container实例)
docker start -i
docker run -i -t
login shell是/bin/bash
docker run -i -t -p
注:使用start是启动已经创建过得container,使用run则通过image开启一个新的container。
4.7 删除容器
docker rm <> :删除一个或多个container
docker rm `docker ps -a -q` :删除所有的container
docker ps -a -q | xargs docker rm :同上, 删除所有的container
5. 持久化容器与镜像
5.1 通过容器生成新的镜像
运行中的镜像称为容器。你可以修改容器(比如删除一个文件),但这些修改不会影响到镜像。不过,你使用docker commit
docker commit
[root@localhost /]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
chug/ubuntu12.10x64 latest 0b96c14dafcd 4 months ago 270.3
MB
[root@localhost /]# docker commit d0fd23b8d3ac chug/ubuntu12.10x64_2
daa11948e23d970c18ad89c9e5d8972157fb6f0733f4742db04219b9bb6d063b
[root@localhost /]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
chug/ubuntu12.10x64_2 latest daa11948e23d 6 seconds ago 270.3 MB
chug/ubuntu12.10x64 latest 0b96c14dafcd 4 months ago 270.3 MB
5.2 持久化容器
export命令用于持久化容器
docker export
5.3 持久化镜像
Save命令用于持久化镜像
docker save 镜像ID > /tmp/
5.4 导入持久化container
删除container 2161509ff65e
导入文件
[root@localhost /]# cat /tmp/ | docker import - export:latest
af19a55ff0745fb0a68655392d6d7653c29460d22d916814208bbb9626183aaa
[root@localhost /]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
export latest af19a55ff074 34 seconds ago 270.3 MB
chug/ubuntu12.10x64_2 latest daa11948e23d 20 minutes ago 270.3
MB
chug/ubuntu12.10x64 latest 0b96c14dafcd 4 months ago 270.3 MB
5.5
导入持久化image
删除image daa11948e23d
导入文件
[root@localhost /]# docker load < /tmp/
对image打tag
[root@localhost /]# docker tag daa11948e23d load:tag
5.6
export-import与save-load的区别
导出后再导入(export-import)的镜像会丢失所有的历史,而保存后再加载(save-load)的镜像没有丢失历史和层(layer)。这意味着使用导出后再导入的方式,你将无法回滚到之前的层(layer),同时,使用保存后再加载的方式持久化整个镜像,就可以做到层回滚。(可以执行docker tag
5.7
一些其它命令
docker logs $CONTAINER_ID #查看docker实例运行日志,确保正常运行
docker inspect $CONTAINER_ID #docker inspect
docker build
docker build -t repo[:tag] 同上,可以指定repo和可选的tag
docker build - <
docker port
6.
一些使用技巧
6.1 docker文件存放目录
Docker实际上把所有东西都放到/var/lib/docker路径下了。
[root@localhost docker]# ls -F
containers/ devicemapper/ execdriver/ graph/ init/ repositories-devicemapper volumes/
containers目录当然就是存放容器(container)了,graph目录存放镜像,文件层(file
system layer)存放在graph/imageid/layer路径下,这样我们就可以看看文件层里到底有哪些东西,利用这种层级结构可以清楚的看到文件层是如何一层一层叠加起来的。
6.2 查看root密码
docker容器启动时的root用户的密码是随机分配的。所以,通过这种方式就可以得到容器的root用户的密码了。
docker logs 5817938c3f6e 2>&1 | grep 'User: ' | tail -n1
更多Docker命令请参考:Docker常用命令.docx
版权声明:本文标题:Docker安装配置步骤详解 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1704393056a457558.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论