# 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 https://download.docker.com/linux/centos/docker-ce.repo # 4、 安装docker,出现输入的界面都按 y yum install -y docker-ce # 5、 查看docker版本,验证是否验证成功 docker -v
docker 镜像配置
- systemctl start docker 启动
- systemctl stop docker 停止
- systemctl restart docker 重启
- systemctl status docker查看状态
- systemctl enable docker 设置开启启动
- systemctl disable docker 设置开启不自动启动
- systemctl start firewalld 启动
- systemctl stop firewalld 停止
- systemctl restart firewalld 重启
- systemctl status firewalld 查看状态
- systemctl enable firewalld 设置开启启动
- systemctl disable firewalld 设置开启不自动启动
- docker search 查询可用的镜像(hub.docker.com)
- docker pull [镜像名称,镜像名称:镜像版本]下载镜像
- docker images 查看本地镜像列表
- docker rmi [镜像名称,镜像名称:镜像版本,镜像ID]
- docker tags 设定镜像的名称
- docker push 推送镜像到远程
# 目录是绝对路径 docker run -d -v 本地目录:容器目录 -v 本地目录:容器目录 -v 本地目录:容器目录 --name=c1 镜像名称 docker run -it --name -v /root/data:/root/data_container centos:7 /bin/bash # 下面省去了宿主机的目录,docker会自动创建一个宿主机目录与之挂载 docker run -it --name c3 -v /volume centosDocker镜像制作命令
-
使用容器制作(注意:制作容器时,只生成容器内的数据)
- docker commit 容器id 镜像名称:镜像版本 (挂载不生效)
- docker save -o 文件名称.tar 镜像名 把镜像打包成tar压缩包
- docker load -i 文件名称 把tar压缩包恢复成镜像
-
使用Dokcerfile
-
docker build 把dockerfile制作成镜像
docker build -f dockerfile文件 -t 镜像名称:镜像版本 .
-
-
docker run 创建
-
交互式:退出之后,容器自动停止。开发过程,做容器的检查测试
- -i 容器没有连接的时候不会自动关闭
- -t 给容器分配一个终端,创建之后进入容器,就像连接Linux的窗口软件一样
- /bin/bash 创建之后进入容器,并是一个类似于shell脚本的界面
- 退出容器就关闭了 docker ps 查看正在运行的容器 docker ps -a 查看历史容器,不管是否关闭
docker run -it --name=[自定义容器名称] 镜像名称:镜像版本 /bin/bash
-
守护式(后台运行):一直后台运行。生成程序运行。
- -d 创建之后不进入容器,并且退出容器之后不会自动关闭。不进入容器所以 /bin/bash可以不加
docker run -d --name=[自定义容器名称] 镜像名称:镜像版本
-
-
docker exec 进入守护式容器
- -t 分配一个界面终端 至于为什么要加i 我还不清楚,加了i 退出正常,不加 i 退出时有点不正常
docker exec -it 容器名称 /bin/bash
-
docker ps 查看容器列表
- docker ps 只查看运行中的容器
- docker ps -a 查看所有容器
-
docker start 容器名称 启动
-
docker stop 容器名称 停止
-
docker restart 容器名称 重启
-
docker rm 容器名称 删除
-
docker inspect 容器名称 查看容器的详细信息
- ip
- 端口
- 网络
数据卷容器,专门做一个容器去挂载数据卷,让其他要挂载数据卷的容器和这个容器相连接,并且容器数据卷挂了,其他而容器也能 和 数据卷进行通信。相当于 我将容器数据卷的 挂载复制了一份过来,数据卷容器挂了 不影响我。
-
-v 挂载本地文件夹到容器中
- 可以挂载多个目录
docker run -d -v 本地目录:容器目录 -v 本地目录:容器目录 -v 本地目录:容器目录 --name=c1 镜像名称 # 下面省去了宿主机的目录,docker会自动创建一个宿主机目录与之挂载 docker run -it --name c3 -v /volume centos
docker自动创建的目录
-
-volume-from 复制容器的-v参数到当前容器中
# 1 创建启动c3数据卷容器,适用-v 参数设置数据卷 docker run -it --name=c3 -v /volume centos:7 /bin/bash # 2 创建启动 c1 c2 容器,适用 --volumes-from c3 centos:7 /bin/bash docker run -it --name=c1 --volumes-from c3 centos:7 /bin/bash docker run -it --name=c2 --volumes-from c3 centos:7 /bin/bash
-
-p 端口映射
-
-e 配置系统的环境,可配置多个(environment)
-
查找对应的可用镜像
-
下载镜像
-
运行容器
docker run -id -p 3307:3306 --name=c_mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7



