Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
1.dock的安装:
准备安装包:社区版docker17.03.1:
[root@foundation17 docker]# ls
docker-engine-17.03.1.ce-1.el7.centos.x86_64.rpm
docker-engine-selinux-17.03.1.ce-1.el7.centos.noarch.rpm
game2048.tar
安装:
[root@foundation17 docker]# yum install * -y
开启服务:
[root@foundation17 docker]# systemctl start docker.service
2.将镜像加到docker仓库:
[root@foundation17 docker]# docker load -i game2048.tar
011b303988d2: Loading layer [==================================================>] 5.05 MB/5.05 MB
36e9226e74f8: Loading layer [==================================================>] 51.46 MB/51.46 MB
192e9fad2abc: Loading layer [==================================================>] 3.584 kB/3.584 kB
6d7504772167: Loading layer [==================================================>] 4.608 kB/4.608 kB
88fca8ae768a: Loading layer [==================================================>] 629.8 kB/629.8 kB
Loaded image: game2048:latest
后台运行镜像并取名vm1:
[root@foundation17 docker]# docker run -d --name vm1 game2048
查看vm1的信息:
[root@foundation17 docker]# docker inspect vm1
在这里会有一个关于这个镜像的ip,在浏览器里访问这个ip就可以运行这个镜像:
浏览器访问:
附:一些简单的docker命令
1.dock运行之后系统会添加一个docker设备并分配一个ip:
ip addr查看:
[root@foundation17 docker]# ip addr
设备docker0:
2.docker版本查看:]
[root@foundation17 docker]# docker version
Client:
Version: 17.03.1-ce
API version: 1.27
Go version: go1.7.5
Git commit: c6d412e
Built: Fri Mar 24 00:36:45 2017
OS/Arch: linux/amd64
doeker信息查看:
[root@foundation17 docker]# docker info
查看docker进程:
[root@foundation17 docker]# docker ps
端口映射:nginx服务在本机使用8080端口,在容器vm2中使用80端口:
[root@foundation17 docker]# docker run -d --name vm2 -p 8080:80 nginx
停止容器:
[root@foundation17 docker]# docker container stop vm1
vm1
[root@foundation17 docker]# docker stop vm1
vm1
查看镜像操作历史:
[root@foundation17 docker]# docker history game2048
IMAGE CREATED CREATED BY SIZE COMMENT
19299002fdbe 20 months ago /bin/sh -c #(nop) CMD ["/bin/sh" "-c" "se... 0 B
<missing> 20 months ago /bin/sh -c #(nop) EXPOSE 80/tcp 0 B
<missing> 20 months ago /bin/sh -c #(nop) COPY dir:cb74e9c037a3d50... 600 kB
<missing> 20 months ago /bin/sh -c #(nop) MAINTAINER Golfen Guo <... 0 B
<missing> 20 months ago /bin/sh -c #(nop) CMD ["nginx" "-g" "daem... 0 B
<missing> 20 months ago /bin/sh -c #(nop) EXPOSE 443/tcp 80/tcp 0 B
<missing> 20 months ago /bin/sh -c #(nop) COPY file:d15ceb73c6ea77... 1.1 kB
<missing> 20 months ago /bin/sh -c #(nop) COPY file:af94db45bb7e4b... 643 B
<missing> 20 months ago /bin/sh -c GPG_KEYS=B0F4253373F8F6F510D421... 50.1 MB
<missing> 20 months ago /bin/sh -c #(nop) ENV NGINX_VERSION=1.11.7 0 B
<missing> 22 months ago /bin/sh -c #(nop) MAINTAINER NGINX Docker... 0 B
<missing> 22 months ago /bin/sh -c #(nop) ADD file:7afbc23fda8b0b3... 4.8 MB
交互式操作镜像:
[root@foundation17 docker]# docker run -it --name vm1 ubuntu
删除在运行的容器:
[root@foundation17 docker]# docker rm -f vm1
复制文件到容器:
[root@foundation17 docker]# docker cp /etc/passwd vm1:/tmp
更多命令请参考docker –help:
[root@foundation17 docker]# docker --help