CentOS 7 Docker 安装

  • 一、安装docker
  • 二、Docker 镜像操作
  • 2.1 列出镜像
  • 2.3 搜索镜像
  • 2.4 拉取镜像
  • 2.4.1 从Docker Hub 拉取
  • 2.4.2 ustc 的镜像
  • 2.5 删除镜像
  • 三、容器操作
  • 3.1 查看容器
  • 3.2 创建与启动容器
  • 3.2.1 创建容器常用的参数说明
  • 3.2.2 交互式容器
  • 3.2.3 守护式容器
  • 3.3停止与启动容器
  • 3.4 文件拷贝
  • 3.5 目录挂载
  • 3.6 查看容器IP
  • 3.7 删除容器


一、安装docker

1. yum install docker 
	安装完成后
	$ docker -v

centos7 进入docker容器ps centos 7 docker_docker


2.启动与停止 Docker 命令

$ systemctl start docker   #启动 docker
	$ systemctl stop docker	#关闭 docker
	$ systemctl restart docker	#重启 docker
	$ systemctl status docker	# 查看docker 状态
	$ systemctl enable docker # 将docker 设置为开机启动

通过 systemctl status docker 命令,看到下面状态是active说明docker启动成功

centos7 进入docker容器ps centos 7 docker_docker_02

二、Docker 镜像操作

2.1 列出镜像

$ docker images

centos7 进入docker容器ps centos 7 docker_docker_03


这些镜像都是存储在Docker宿主机的/var/lib/docker 目录下

2.3 搜索镜像

$ docker search 镜像名称

centos7 进入docker容器ps centos 7 docker_Docker_04

2.4 拉取镜像

2.4.1 从Docker Hub 拉取

$ docker pull 镜像名称

centos7 进入docker容器ps centos 7 docker_docker_05


目前国内访问docker hub 速度有些尴尬,可以修改拉取镜像地址

2.4.2 ustc 的镜像

$ vim /etc/docker/daemon.json

centos7 进入docker容器ps centos 7 docker_docker_06


添加 “registry-mirrors”:[“https://docker.mirrors.ustc.edu.cn”]

然后一定要重启 docker

现在是不是速度杠杠的。。。

2.5 删除镜像

$ docker rmi 镜像ID #删除指定镜像
 $ docker rmi `docker images -q`  #删除所有镜像

centos7 进入docker容器ps centos 7 docker_Docker_07

三、容器操作

3.1 查看容器

$ docker ps	#查看正在运行的容器
 $ docker ps -a	#查看所有容器(启动过的历史容器)
 $ docker ps -l	查看最后一次运行的容器
 $ docker ps -f status=exited	#查看停止的容器

3.2 创建与启动容器

3.2.1 创建容器常用的参数说明

1.创建容器命令:docker run
2. -i : 表示运行容器
3. -t : 表示容器启动后会进入命令行。加入这个参数后,容器创建就能登录进去。即分配一个伪终端。
4. --name : 为创建的容器命名。
5. -v : 表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个 -v 做多个目录或文件映射。这样在宿主机做修改后,容器内的文件也随之修改了。
6. -d:在run后 面加上 -d 参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加 -i -t 两个参数,创建后就会自动进入容器)
7. -p : 表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个 -p 做多个端口映射

3.2.2 交互式容器

$ docker run -it --name=myredis  redis:latest /bin/bash	 #创建一个交互式容器取名为myredis
$ exit 	# 退出当前容器

(因为这种模式不太方便,了解就行了)

3.2.3 守护式容器

$ docker run -di --name=myredis -p 3306:3306 redis:latest	# 创建守护式容器(在后台运行)
$ docker exec -it myredis /bin/bash # 登陆守护式容器(exit 退出命令,容器不会停止)

3.3停止与启动容器

$ docker stop myredis 	#	停止正在运行的容器
$ docker start myredis 	#	启动已经运行过了的容器

3.4 文件拷贝

docker cp 需要拷贝的文件或目录 容器名称:容器目录
docker cp  容器名称:容器目录 需要拷贝的文件或目录

3.5 目录挂载

我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主机的某个目录的文件从而去影响容器。

创建容器添加 -v 参数 后面为 宿主机目录:容器目录
$ docker run -di -v /usr/local/myhtml:/usr/local/myhtml --name=myredis redis
如果目录是多级目录,可能会出现权限不足的提示
Permission denied
这是应为CentOS7 中的安全模块selinux 把权限禁掉了,我们需要添加参数 -privileged=true

3.6 查看容器IP

$ docker inspect myredis

3.7 删除容器

$ docker rm myredis   #只能删除停止的容器
$ docker rm `docker ps -a -q` 	# 删除所用容器