1、安装Docker

  1. # 1. 下载关于dcker的依赖环境
  2. yum -y install yum-utils device-mapper-persistent-data lvm2
  1. # 2. 设置一下下载docker的源
  2. yum-config-managers --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  1. # 3. 安装docker
  2. yum makecache fast
  3. yum -y install docker-ce
  • 在此之前可以查看docker服务是否 启动,使用ps aux | grep dockerd
  • 如何查看开机自启动的服务systemctl list-unit-files | grep enabled
    1. # 4. 启动、并设置开机自动启动,测试
    2. # 启动docker 服务
    3. systemctl start docker
    4. # 设置开机自启动
    5. systemctl enable docker
    6. # 测试
    7. docker run hello-world

2、Docker的中央仓库

国内镜像daoCloud:http://hub.daocloud.io

  1. # 需要在/etc/docker/daemon.json
  2. {
  3. "registry-mirrors": ["https://registry.docker-cn.com"]
  4. }
  5. # 重启两个服务
  6. systemctl daemon-reload
  7. systemctl restart docker

3、镜像的操作

  1. # 1、 拉取镜像到本地
  2. docker pull 镜像名称[:tag]
  3. # 2、查看全部本地镜像
  4. docker images
  5. # 3、删除本地镜像
  6. docker rmi 镜像的标识(docker images 可以看到)
  7. # 4、镜像的导入导出(不规范)
  8. docker save -o 导出的路径 镜像的Id
  9. # 5、加载本地的镜像文件
  10. dokcer load -i 镜像文件
  11. # 6、修改镜像名称
  12. docker tag 镜像id 新镜像名称:版本

4、容器的操作

  1. # 1、运行容器
  2. # 简单操作
  3. docker run 镜像的标识|镜像名称[:tag]
  4. # 常用的参数
  5. docker run -d -p 宿主机端口:容器端口 --name 容器名称 镜像的标识|镜像名称[:tag]
  6. # -d:代表后台运行容器
  7. # -p:宿主机端口:容器端口:为了映射当前linux端口和容器端口
  8. # --name 指定容器名称
  9. # 2 查看正在运行的容器
  10. docker ps [-qa]
  11. # -a: 查看全部的容器,包括没有运行的
  12. # -q:只能查看到容器的标识
  13. # 3、查看容器日志
  14. docker logs -f 容器id
  15. # 4、进入到容器内部
  16. docker exec -it 容器id bash
  17. # 5、删除容器(删除容器前,要停止容器)
  18. docker stop 容器:id
  19. docker stop $(docker ps -qa)
  20. docker rm 容器id
  21. docker rm $(dokcer ps -qa)
  22. #6 启动容器
  23. docker start 容器id

5、mysql安装

  1. # 运行mysql容器
  2. docker run -d -p 3306:3306 --name mysql -e MYSQLROOTPASSWORD=root daocloud.io/library/mysql:5.7.4

6、将宿主机内容复制到容器内部

  1. docker cp 文件名称 容器id:容器内部路径

7、数据卷

  1. 数据卷:将宿主机的一个目录映射到容器的一个目录中
  2. 可以在宿主机中操作目录中的内容,那么容器内部映射的文件,也会跟着一起改变
  3. # 1、创建数据卷
  4. docker volume create 数据卷名称
  5. # 创建数据卷之后,默认会存放在一个目录下 /var/lib/docker/volumes/数据卷名称/_data
  6. # 此时还没有映射到容器里