1. docker概述
docker是一种容器技术,解决软件跨环境迁移的问题。
我们写代码的时候通常会有多个环境,比如开发环境,测试环境以及生产环境。在产品的开发过程中经常会遇到一些在开发环境上没有问题,而到测试环境或者生产环境就有问题的情况。这时候docker就能很好的解决问题,他将应用程序以及应用程序所依赖的环境一起保存到docker容器中,然后发布到任何流行的Linux机器上。就可以规避因为环境不同而造成的一系列的问题。
容器是完全使用沙箱机制,相互隔离。也就是说一些Linux机器上可以有很多docker容器(比如一个容器中放mysql,另一个容器放tomcat。两个容器相互隔离互不影响)。容器性能开销极低。
镜像就相当于把软件以及软件所需要的运行环境打包到一个镜像文件中,将来再通过镜像文件创建对应的容器,容器一旦有了之后,这些软件就自动的有了。
2. docker命令

  • docker服务相关命令

启动docker服务

systemctl start docker

停止docker服务

systemctl stop docker

重启docker服务

systemctl restart docker

查看docker服务状态

systemctl status docker

设置开机启动docker服务

systemctl enable docker
  • docker镜像相关命令
    查看镜像列表
docker images

查看所有镜像id

docker images -q

搜索镜像(搜索是否有redis)

docker search redis

拉取镜像(镜像名称格式为 名称:版本号,如果版本号不指定则是最新版本latest,如果不知道版本号可以在docker官方文档中查看)

docker pull redis:3.2

删除镜像(rmi是remove+image的缩写)

docker rmi image_id

当id是一样的时候 可以换一种方式(名称+版本号)

docker rmi redis:5.0
  • 容器相关命令
    容器和镜像就像对象和类的关系,以下是通过镜像来创建容器,就相当于通过类来创建实例对象。

查看正在运行的容器

docker ps

查看所有容器(关闭的也会显示)

docker ps -a

创建并启动容器(方式一)
(以centos 7版本创建c1容器。-it :容器创建后自动进入容器中,退出容器后,容器自动关闭。–name: 为创建的容器命名。/bin/bash是进入容器的初始化指令,可以省略)

docker run -it --name=c1 centos:7 /bin/bash

创建容器(方式二)
(-id 创建一个容器在后台运行)

docker run -id --name=c2 centos:7

进入容器

docker exec -it c2 /bin/bash

退出容器

exit

启动容器

docker start container_name

停止容器

docker stop container_name

删除容器(前提容器是关闭状态)

docker rm container_name
#or
docker rm container_id