doker使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了doker使用相关的知识,希望对你有一定的参考价值。
搭建环境及说明
Centos6.8 64位 关闭selinux 使SELINUX=disabled
最好是centos 7 内核为3.0版本
———————————————————————以下为操作步骤及详解 ————————————————————
1.docker安装与启动
yum install -y epel-release #centos安装扩展源
yum install docker-io #安装docker
配置文件 /etc/sysconfig/docker
chkconfig docker on #加入开机启动
service docker start #启动docker服务
2.基本信息查看
docker version #查看docker的版本号,包括客户端、服务端、依赖的Go等
docker info #查看系统(docker)层面信息,包括管理的images, containers数等
docker images 查看本地主机上已有的镜像
3.镜像的获取与容器的使用
docker search xx #搜索公用库中的xx镜像
下载镜像
docker pull xx #从dockerregistry server 中下拉xx到本地
查看本地镜像
docker images: #列出images
docker images -a #列出所有的images(包含历史)
docker rmi <xx ID>: #删除一个或多个镜像
利用现有的镜像的容器制作生成新镜像
docker commit -m "centos_lin" -a "xxx"f499 centos_new #说明centos_lin为更改的东西xxx为作者f499为被更改的镜像centos_new为改后的名字
利用本地模版导入发制作新镜像 及备份还原
/* 因为直接去网站拿会下载的慢,所以直接到网站里,对着此包--〉右键--〉复制链接地址 网站地址:https://openvz.org/Download/template/precreated */
[[email protected] ~]# wget http://download.openvz.org/template/precreated/centos-6-x86-minimal.tar.gz
[[email protected] ~]# cat centos-6-x86-minimal.tar.gz|docker import - centos-6-x86 //import - (+自定义的名字)
b3b4668e82733e0f8d1fefa950266284924f6223673cc72fd6575ddcaa585109
[[email protected] ~]# docker images //查看刚刚导入的镜像是否存在
/* 把现有镜像,导出为一个文件, -o要导出最后的文件名要导出的文件的标签(名)或id */
[[email protected] ~]# docker save -o frankie-centos.tar centos-6-x86 #把现有镜像,导出为一个文件
[[email protected] ~]# ls
anaconda-ks.cfg
centos-6-x86_64-minimal.tar.gz
frankie-centos.tar
install.log
install.log.syslog
[[email protected] ~]#
/*用导出的文件恢复本地镜像 1. 先删除镜像 2. 再利用文件恢复
形式:== docker load --input frankie-centos.tar
== docker load < frankie-centos.tar
"frankie-centos.tar" --为文件名 */
[[email protected] ~]# docker rmi centos-6-x86 #删除镜像
Untagged: centos-6-x86:latest
Deleted: c37f3636c1f8d64c2bfb5fbbfc45ac1ae53aac6ea83c6439410c809cba709a9f
[[email protected] ~]# docker images #查看本地镜像
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos_with_net latest c5b412fe1c33 About an hour ago 294.1 MB
centos latest d83a55af4e75 4 weeks ago 196.7 MB
frankie latest d83a55af4e75 4 weeks ago 196.7 MB
[[email protected] ~]# docker load < frankie-centos.tar #导入备份镜像
[[email protected] ~]# docker images #查看本地镜像
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos-6-x86 latest c37f3636c1f8 13 minutes ago 343.8 MB
centos_with_net latest c5b412fe1c33 About an hour ago 294.1 MB
centos latest d83a55af4e75 4 weeks ago 196.7 MB
frankie latest d83a55af4e75 4 weeks ago 196.7 MB
//可以把自己的镜像传到dockerrhub官网上,前提是注册一个用户
[[email protected] ~]# docker push image_name #上传image_name 镜像
使用镜像创建容器
docker run -it sentos /bin/bash #创建一个容器宾并进入其中,让其运行 bash 应用
下图为进入容器的两种方法
docker run -itd --name centos_aways --restart=always centos #创建一个名称centos_aways的容器,自动重启
# --restart参数:always始终重启;on-failure退出状态非0时重启;默认为,no不重启
docker tag centos lin12:lin #相当于拷贝一份并重名为lin12标签为lin 特别说明:此为一个镜像
注意:在删除时最好加上标签这样更加精确删除 例如:docker rmi lin12:lin
docker tag centos lin12 #相当于拷贝一份并重名为lin12
查看容器
docker ps :列出当前所有正在运行的container
docker ps -l :列出最近一次启动的container
docker ps -a :列出所有的container(包含历史,即运行过的container)
docker ps -q :列出最近一次运行的container ID
再次启动容器
docker start/stop/restart<container> #:开启/停止/重启container
docker start [container_id] #:再次运行某个container (包括历史container)
docker run --name web –itd centos bash #--name 给容器自定义名字
image_name
容器的退出
在docker内容器常用有两种退出方式
第一种(快捷键):ctrl+d
第二种命令形式: exit
进入正在运行的docker容器
docker exec -it [container_id]/bin/bash
docker run -it -p<host_port:contain_port> #:映射 HOST 端口到容器,方便外部访问容器内服务,host_port 可以省略,省略表示把 container_port 映射到一个动态端口。
删除容器、镜像
docker rmi <container...> #: 删除一个或多个镜像也可以使用ID来删除
若要强制删除镜像使用-f选项即可docker rmi –fxxxx
docker rm #删除容器
docker rm `docker ps -a -q` #:删除所有的container
docker ps -a -q | xargs docker rm#:同上, 删除所有的container
docke 制作centos6.8 镜像
yum -y install febootstrap
febootstrap -i bash -i wget -i yum -iiputils -i iproute centos6 centos6-dochttp://mirrors.163.com/centos/6.8/os/x86_64/
cd centos6-doc/
tar -c .|docker import - centos68-bash#制作镜像
docker images#查看镜像
docker run -t -i centos68-bash /bin/bash#创建容器
docker ps -a#查看容器
docker start 容器ID#启动容器
docker attach 容器ID#匹配容器
镜像的导出、导入
方法一
docker save 镜像名 | bzip2 -9 -c>xxx.tar.bz2 #导出镜像
bzip2 -d -c <xxx.tar.bz2 | docker load #导入镜像
方法二
dockersave -o frankie-centos.tar centos-6-x86_64 #导出镜像
docker load < frankie-centos.tar#导入镜像
导入、导出容器 (容器导出是指导出一个已经创建的容器到一个文件,你管此时这个容器是否处于运行状态)
容器导出命令格式: docker export xxxx #xxx为容器名或ID
docker export576bee4bcebd >121.tar # 导出容器
cat 12.tar|docker import - centos:V7.1 #导入容器 注意:此导入的容器实际上是镜像要让其成为容器必须以此镜像生成容器
本文出自 “11109450” 博客,转载请与作者联系!
以上是关于doker使用的主要内容,如果未能解决你的问题,请参考以下文章