很早之前都听说过docker了,前一段时间才真正接触了,现在把之前学习的时候做的记录在这也写一下,希望能够帮到有需要的人。
Docker是什么
Docker是一个轻量级容器技术,类似虚拟机技术。Docker直接运行在当前操作系统之上,而不是运行在虚拟机,但是也实现了虚拟机技术的资源隔离,性能远高于虚拟机技术。
Docker有什么用
Docker支持将软件编译成一个镜像(image),在这个镜像里做好对软件的各种配置,然后发布这个镜像,使用者可以运行这个镜像,运行中的镜像成为容器(container)
容器的启动很快。
启用Docker服务
启动系统docker服务的命令:
service docker restart
Docker常用命令及参数
1.Docker镜像命令
通常情况下Docker镜像都放在Docker的官网Docker Hub上,地址为http://registry.hub.docker.com
(1)Docker镜像索引
docker search 镜像名 如索引Redis:
docker search redis
(2)镜像下载
docker pull 镜像名 如下载Redis:
docker pull redis
(3)镜像列表
docker images
(4)镜像删除
docker rmi image-id
删除所有镜像通过以下命令:
docker rmi $(docker images -q)
Docker容器命令
(1)容器基本操作
最简单的运行镜像为容器的命令:
docker run --name container-name -d image-name
其中–name参数是为容器取得名称
-d表示detached,意味着执行完该语句后控制台不会被阻碍,可以继续输入命令操作;
image-name是要使用哪个镜像来运行容器
如运行Redis:
docker run --name test-redis -d -redis
(2)容器列表
通过如下命令查看运行中的容器:
docker ps
查看运行和停止状态的容器:
docker ps -a
显示的内容中:CONTAINER ID是在启动时候生成的ID;IMAGE是该容器使用的镜像;
COMMAND是容器启动时调用的命令;CREATED是容器创建时间;STATUS是当前容器的状态;
PORTS是容器系统所使用的端口号,Redis默认使用6379端口,NAMES是为容器定义的名称
(3)停止和启动容器
停止容器的命令:
docker stop container-name/container-id
可以通过容器名称和容器ID将容器停止
如停止redis:
docker stop test-redis
启动容器
docker start container-name/contain-id
如启动Redis
docker start test-redis
(4)端口映射
Docker容器中运行的软件所使用的端口,在本机和本机的局域网是不能访问的,所以需要将Docker容器的端口映射到主机上,这样本机和所在的局域网就可以访问软件了
Docker端口映射使用的命令是通过一个-p参数来实现的
如redis下:
docker run -d -p 6378:6379 --name port-redis redis //为6397映射为6378
(5)删除容器
删除单个容器:
docker rm container-id
删除所有容器:
docker rm $(docker ps -a -q)
(6)容器日志
查看当前容器日志:
docker logs container-name/contain-id
如查看redis:
docker logs port-redis
(7)登录容器
运行中的容器是一个功能完备的Linux操作系统,所以可以像常规系统一样登录并访问容器。
使用的是
docker exec it container-id/container-name bash
退出使用
exit
即可