Docker搭建
一.软件的安装
当前安装的版本是docker17.03.1
yum install -y
docker-engine-17.03.1.ce-1.el7.centos.x86_64.rpm
docker-engine-selinux-17.03.1.ce-1.el7.centos.noarch.rpm
启动docker,需要可以设置为开机自动启动
systemctl start docker
查看docker网络:
ip addr
ip addr
查看docker版本信息
docker version
查看docker详细信息
docker info
二.docker常用命令
在命令行输入docker或docker container,连击tab键导出命令
查看版本
docker version
查看信息
docker info
查看仓库
docker images
查看历史记录
docker history
导入镜像
docker load -i ubuntu.tar
删除镜像:
docker rmi 452a96d81c30
查看进程
docker ps -a
docker run -d –name vm1 game2048
创建容器,容器的名字唯一,删除后也唯一
docker run -it –name vm1 ubuntu bash
查看容器状态
docker ps -a
连接容器
docker attach vm1
查看容器进程
docker top vm1
查看容器指令输出 -f 参数可以实时查看
docker logs vm1
查看容器详情
docker inspect vm1
查看容器资源使用率
docker stats vm1
查看容器修改
docker diff vm1
后台运行
docker run -d –name vm1 ubuntu bash -c “while true; do echo westos; sleep 1; done”
停止容器
docker stop vm1
启动容器
docker start vm1
强制干掉容器
docker kill vm1
重启容器
docker restart vm1
暂停/恢复容器
docker pause/unpause vm1
删除容器
docker rm vm1
导出容器
docker export vm1 > vm1.tar
导入容器为镜像
docker import vm1.tar image
查询镜像
docker search
拉取镜像
docker pull
推送镜像
docker push
!!!注意:容器镜像的层数<127,
层数只读,只能修改最上面的一层,修改保存在数据层之中->保证了数据的完整,到那个系统中都一样
三.操作练习:
导入镜像到docker
docker load -i nginx.tar
docker load -i rhel7.tar
docker load -i ubuntu.tar
查看当前仓库的镜像
docker images
创建一个nginx仓库:
docker run -d --name vm1 nginx
查看仓库:
docker run -d --name vm1 nginx
查看vm1的网络IP:
docker run -d --name vm1 nginx
此时可以通过浏览器访问该IP
删除vm1
docker kill vm1
docker rm vm1
docker ps 查看
四.进阶配置操作:
1.端口映射:
创建并设置端口映射
docker run -d --name vm1 -p 8080:80 nginx
此时浏览器访问172.25.0.250:8080也是可以访问的
2.修改容器网络:
容器会自己生成网络配置
!!!注意:如果物理机无法正常上网,创建的容器也无法正常上网,
即使物理机后来可以上网,因容器配置已经生成,需要重新修改容器的网络配置,或是重新创建容器方可上网
创建一个ubuntu的容器
docker run -it --name vm2 ubuntu
查看网关
root@81f8072f4d1a:/# cat /etc/resolv.conf
# Generated by NetworkManager
search ilt.example.com example.com
nameserver 202.200.48.6
nameserver 218.30.19.50
nameserver 172.25.254.250
查看能否连接网络
root@81f8072f4d1a:/# ping baidu.com
PING baidu.com (123.125.115.110) 56(84) bytes of data.
64 bytes from 123.125.115.110: icmp_seq=1 ttl=50 time=24.8 ms
退出
ctrl + pq
强制退出:
ctrl + d
重新连接容器:
docker container attach vm2
建立空白文件
root@81f8072f4d1a:/# touch /mnt/file{1..10}
保存提交修改后的vm2:
docker container commit vm2
此时退出容器后重新连接,可以看到文件的修改( 10个file )
启动,停止,删除
停止容器:
docker container stop vm2
启动容器:
docker container start vm2
删除容器及数据:
docker images 查看id
docker rmi +容器id