前言:
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
一、dock的安装:
准备安装包:社区版docker17.03.1:
[root@server1 docker]# ls
container-selinux-2.21-1.el7.noarch.rpm pigz-2.3.4-1.el7.x86_64.rpm
docker-ce-18.06.1.ce-3.el7.x86_64.rpm policycoreutils-2.5-17.1.el7.x86_64.rpm
libsemanage-2.5-8.el7.x86_64.rpm policycoreutils-python-2.5-17.1.el7.x86_64.rpm
libsemanage-python-2.5-8.el7.x86_64.rpm
[root@server1 docker]# yum install -y *
开启服务:
[root@server1 docker]# systemctl start docker
检测docker是否成功开启:
[root@server1 ~]# docker info
docker命令补齐:
[root@server1 ~]# yum install -y bash-*
下载好之后,重新连接终端就好了
二、将镜像加到docker仓库,运行镜像,端口映射:
将2048小游戏的镜像添加到docker仓库中:
[root@server1 ~]# docker load -i game2048.tar
011b303988d2: Loading layer 5.05MB/5.05MB
36e9226e74f8: Loading layer 51.46MB/51.46MB
192e9fad2abc: Loading layer 3.584kB/3.584kB
6d7504772167: Loading layer 4.608kB/4.608kB
88fca8ae768a: Loading layer 629.8kB/629.8kB
Loaded image: game2048:latest
查看docker仓库的所有镜像:
[root@server1 ~]# docker images
后台运行镜像,并做一个端口映射,把本机的80端口映射到容器的80端口。
[root@server1 ~]# docker run -d -p 80:80 --name vm1 game2048
2f4229f65e4be6279abb811cd8fc063eb6865c7cdab65617452a279e0e7310cb
查看正在运行的镜像:
[root@server1 ~]# docker ps
我们在浏览器直接访问本机,端口映射到容器内,就可以玩2048小游戏啦。
三、一些简单的docker命令
docker运行后系统会自动添加一个docker设备并且分配一个IP:
[root@server1 ~]# ip addr
docker版本查看:
[root@server1 ~]# docker version
doeker信息查看:
[root@server1 ~]# docker info
查看docker进程:
[root@server1 ~]# docker ps #正在运行的docker进程
[root@server1 ~]# docker ps -a #所有的docker进程
端口映射:nginx服务在本机使用8080端口,在容器vm2中使用80端口:
docker run -d --name vm2 -p 8080:80 nginx
停止容器及运行容器:
docker container stop vm1
docker stop vm1
docker container start vm1
docker start vm1
查看镜像操作历史:
docker history game2048
交互式操作镜像:
docker run -it --name vm1 ubuntu #执行后会占用当前的终端,可以用快捷键ctrl+p+q退出,
docker attach vm1 #重新连接vm1容器
删除在运行的容器:
[root@server1 ~]# docker rm -f vm1
删除docker仓库中的镜像:
[root@server1 ~]# docker rmi game2048:latest
更多命令请参考docker –help