安装docker 简单实用

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 打包成镜像
安装docker 简单实用
docker commit cs7 iso-cs7:latest #将当前运行的cs7的软件,生成镜像文件,name叫iso-cs7 tag叫latest
cat centercs3.tar |docker import - cs3#导入镜像,name 为cs3
安装docker 简单实用
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 run -itd --name ng4 -p80:80 -v /date/etc/nginx.conf:/etc/nginx/nginx.conf -v /date/log:/val/log/nginx -v /date/nginx/html:/usr/share/nginx/html hub.c.163.com/library/nginx #创建一个nginx容器,-v把宿主机的文件映射给容器,容器用的配置文件,index文件,都是宿主机提供的

docker ps :列出当前所有正在运行的container

安装docker 简单实用
docker ps -l :列出最近一次启动的container
docker ps -a :列出所有的container(包括历史,未运行的)
docker ps -q :列出最近一次运行的container ID
docker inspect cs1 :查看cs1 容器的详细信息,有PId ip 等等

    #进入容器
    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 run -itd --name cs1 --restart=always centos
#创建一个容器,除了用docker stop关闭,其他状态关闭比如kill掉,会自动重启
    no – 默认值,如果容器挂掉不自动重启
on-failure – 当容器以非 0 码退出时重启容器 

同时可接受一个可选的最大重启次数参数 (e.g. on-failure:5).
always – 不管退出码是多少都要重启

删除镜像或者容器
docker rm sad_joliot #删除容器使用id name 均可,注意容器必须关闭状态才能删除
安装docker 简单实用
docker rmi docker.io/nginx #删除镜像,注意如果有容器使用了改镜像,该镜像就无法被删除
安装docker 简单实用

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/[email protected]
#给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/[email protected] #手动分配IP地址

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章