1. 安装
yum install -y epel-release #安装epel源
yum install -y docker # 安装docker 容器
docker version # 查看docker的版本号,包括客户端、服务端、依赖的Go等
docker info # 查看系统(docker)层面信息,包括管理的images, containers数等
docker images centos #查看centos 镜像
docker images --all #查看所有镜像
docker run -i -t centos #启动centos镜像
2 镜像的管理
docker search centos #搜索centos镜像 在docker index中搜索
docker pull centos #下载镜像 在docker index中下载
docker pull hub.c.163.com/library/tomcat:latest
#到国内下载
docker images #查看所有已下载的镜像
docker images -a # 查看所有已下载的镜像(包括历史)
docker rm <image ID>: # 删除一个或多个image
镜像打包导出,导入
docker export cs2 >centercs3.tar #将容器cs2 打包成镜像
cat centercs3.tar |docker import - cs3#导入镜像,name 为cs3
docker run -itd --name cs5 cs3 /bin/bash #用刚才的镜像创建一个容器cs5
3.容器管理
docker run -itd --name center7 hub.c.163.com/library/centos
#创建并启动一个一个名为center7 的容器,"hub.c.163.com/library/centos"这是用的镜像
-i 允许交互,-d后台启动 -t 打开终端
docker ps :列出当前所有正在运行的container
docker ps -l :列出最近一次启动的container
docker ps -a :列出所有的container(包括历史,未运行的)
docker ps -q :列出最近一次运行的container ID
docker stats #查看容器状态,会刷新的和watch -n1 软件功能类似。加--no-stream只抓取一次
#进入容器
docker attach 2775cac1c4af
docker exec -it 2775cac1c4af /bin/bash
#启动一个上面一个ID 的bash 程序
再次启动容器
docker start/stop/restart center7|2775cac1c4af
#启动或者停止重启容器,用name ID 均可 ,
添加端口映射
docker run -p 8000:80 -it docker.io/centos /bin/bash
#这个只能在创建容器时候在添加,如果容器已经运行只能把容器打包的成镜像在创建了
删除镜像或者容器
docker rm sad_joliot #删除容器使用id name 均可,注意容器必须关闭状态才能删除
docker rmi docker.io/nginx #删除镜像,注意如果有容器使用了改镜像,该镜像就无法被删除
4.改桥接模式
现将物理机网卡改为桥接模式
vim /etc/sysconfig/network-scripts/ifcfg-ens33 #去掉原接口的IP
OTPROTO=static
ONBOOT=yes
TYPE=Ethernetu
BRIDGE="br0"
DEVICE=ens33
vim /etc/sysconfig/network-scripts/ifcfg-br0 #新增一个br类型配置文件,配ip
OTPROTO=static
ONBOOT=yes
TYPE=Bridge
DEVICE=br0
IPADDR=192.168.0.17
NETMASK=255.255.255.0
GATEWAY=192.168.0.8
DNS1=114.114.114.114
yum install -y git #安装下载工具
git clone https://github.com/jpetazzo/pipework #下载软件,绿色的
cp pipework/pipework /usr/local/bin/ #将软件拷贝到bin目录下,环境变量好能识别到
pipework br0 cs5 192.168.0.19/24@192.168.0.8
#给cs5 配置一个ip 地址192.168.0.19,网关改网段的ip,重启后就会清空
自动分配IP
vim /etc/sysconfig/docker
#在OPTIONS='--selinux-enabled'这行中修改为OPTIONS='--selinux-enabled -b=br0'即让docker服务启动时使用br0网卡进行桥接,默认是docker0 桥是nat模式,注意,改完桥接分配的IP地址不是从dhcp获取的,是从1-254,递增分配的
docker run -itd --net=none --name cs7 docker.io/kinogmt/centos-ssh
#创建一个容器cs7,--net=none不配置任何桥
pipework br0 cs7 192.168.0.19/24@192.168.0.8 #手动分配IP地址