1、docker介绍
Docker 是OS层虚拟化架构的开源的应用容器引擎,基于 Go 语言开发。 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性
能开销极低。使用Docker可以实现开发人员的开发环境、测试人员的测试环境、运维人员的生产环境的一致性。
2、安装docker
# 1. yum 包更新到最新
yum update
# 2. 安装需要的软件包,yum-util提供yum-config-manager功能,另外两个是devicemapper 驱动依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
# 3. 设置yum源为阿里云
yum-config-manager --add-repo http://mirrors.aliyun.com/docker- ce/linux/centos/docker-ce.repo
# 4. 安装docker【docker-ce: 社区版,免费;docker-ee:企业版,收费】
yum install docker-ce -y
# 5. 安装后查看docker版本
docker -v
2、设置ustc镜像源
1、编辑文件/etc/docker/daemon.json
# 执行如下命令
mkdir /etc/docker
vi /etc/docker/daemon.json
2、在文件中加入下面内容:
{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] }
3、docker服务常用命令
# 启动docker服务
systemctl start docker
# 停止docker服务
systemctl stop docker
# 重启docker服务
systemctl restart docker
# 查看docker服务状态
systemctl status docker
# 设置开机启动docker服务
systemctl enable docker
# 查看docker概要信息
docker info
# 查看docker帮助文档
docker --help
4、docker镜像常用命令
镜像都是存储在docker宿主机的/var/lib/docker目录下。
# 查看镜像
docker images
# 拉取镜像就是从Docker仓库下载镜像到本地
docker pull 镜像名称
# 拉取centos 最后版本镜像
docker pull centos:latest
# 按照镜像id删除镜像
docker rmi 镜像ID
# 删除所有镜像(谨慎操作)
docker rmi `docker images -q`
5、docker容器常用命令
- 查看正在运行容器: docker ps
- 查看所有容器: docker ps -a
- 查看最后一次运行的容器: docker ps –l
- 创建与运行容器使用命令: docker run
参数说明:
-i: 表示运行容器
-t: 表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
--name: 为创建的容器命名。
-v: 表示目录映射关系(前者是宿主机目录,后者是容器的目录,格式:-v 宿主机目录:容器目录),
可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
-d: 在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。
-p: 表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射。
- 停止正在运行的容器: docker stop 容器名称|容器ID
- 启动已运行过的容器: docker start 容器名称|容器ID
- 重启正在运行的容器: docker restart 容器名称|容器ID
- 查看容器运行的各种数据,例如IP:docker inspect 容器名称(容器ID)
容器之间在一个局域网内,linux宿主机器可以与容器进行通信;但是外部的物理机是不能与容器直接通信的,如果需要则需要通过宿主机器端口的代理。 - 删除指定的容器: docker rm 容器名称|容器ID
- 删除所有容器: docker rm `docker ps -a -q`
- 从宿主机拷贝文件到容器命令:docker cp 宿主机中的文件 容器的名称:/目录
- 从容器拷贝文件到宿主机命令:docker cp 容器的名称:/目录/文件名 宿主机中的目录