一、docker是什么?
Docker是一个开源的应用容器引擎,可以让开发者将他们的应用以及依赖包打包到一个可移植的镜像中。然后发布到任何流行的linux或windows机器上,可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
二、Docker的部署和安装
1、安装docker以及相关的依赖性
[root@server1 docker]# ls
container-selinux-2.21-1.el7.noarch.rpm
docker-ce-18.06.1.ce-3.el7.x86_64.rpm
libsemanage-2.5-8.el7.x86_64.rpm
libsemanage-python-2.5-8.el7.x86_64.rpm
pigz-2.3.4-1.el7.x86_64.rpm
policycoreutils-2.5-17.1.el7.x86_64.rpm
policycoreutils-python-2.5-17.1.el7.x86_64.rpm
[root@foundation19 docker]# yum install -y *
2、打开docker服务
[root@server1 ~]# systemctl start docker
3、在安装好docker后, linux系统会为docker容器分配一个ip,利用ip addr中查看docker0的ip
[root@server1 ~]# ip addr
三、将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 vm2 game2048
3f1850086362e9c9d0a2aa59a90fc13c79d2cbfce830986e3859627776b44ad4
访问浏览器
四、一些简单的docker命令
1、查看docker的版本
[root@server1 ~]# docker version
2、查看docker的基本信息
[root@server1 ~]# docker info
3、查看docker进程
[root@server1 ~]# docker ps #正在运行的docker进程
[root@server1 ~]# docker ps -a #所有的docker进程
4、做端口映射
[root@server1 ~]# docker run -d -p 80:80 --name vm2 game2048
5、停止和运形容器
docker container stop vm1
docker stop vm1
docker container start vm1
docker start vm1
6、查看镜像操作历史
docker history game2048
7、交互式操作镜像
docker run -it --name vm1 ubuntu #执行后会占用当前的终端,可以用快捷键ctrl+p+q退出,
docker attach vm1 #重新连接vm1容器
8、删除正在运行的容器
[root@server1 ~]# docker rm -f vm1
9、查处docker库中的镜像
[root@server1 ~]# docker rmi game2048:latest