关于 Docker 的一些概念和操作,我争取这一篇博客说完。 下面正文开始。
Docker 镜像与容器
说到 Docker ,你会常遇到两个内容: image 和 container (即镜像和容器) 关于镜像和容器,你可以这样来理解:镜像是构建 Docker 的基石,用户基于镜像来运行自己的容器。或者说,镜像是 Docker 生命周期中的构建或打包阶段,而容器则是启动或是执行阶段。 好吧,说的再明白点儿,就是有了镜像,才有的容器。容器是在镜像的基础上,才有的。
Docker 安装
以前写过,这里就不赘述了,直接上链接: 需要科学上网的安装方法:[Docker]CentOS7下Docker安装教程 不需要科学上网的安装方法:[Docker]CentOS7通过rpm包安装Docker
Docker 相关命令
Docker 操作相关命令:
1 |
|
镜像相关命令:
查看镜像命令:
1 |
|
搜索镜像:
1 |
|
拉取镜像:[Docker]Docker拉取,上传镜像到Harbor仓库 删除镜像:[Docker]如何批量删除镜像
容器相关命令:
查看容器: 查看正在运行的容器:
1 |
|
查看所有容器:
1 |
|
查看最后一次运行的容器:
1 |
|
查看停止的容器:
1 |
|
创建容器:
1 |
|
可以在 run 后面加参数。其中:
1 |
|
交互式方式创建容器
1 |
|
守护式方式创建容器
1 |
|
登录守护式容器方式
1 |
|
启动容器:
1 |
|
停止容器:
1 |
|
文件拷贝:
将文件拷贝到容器内
1 |
|
将文件从容器内拷贝出来
1 |
|
目录挂载:
在创建容器时,将宿主机的目录与容器内的目录进行映射,这样可以通过修改宿主机某个目录的文件从而去影响容器 创建容器 添加 -v 参数 后边为 宿主机目录:容器目录,完整命令:
1 |
|
如果共享的是多级目录,可能会出现权限不足的情况 可以通过添加参数 –privileged=true 来解决,因为 CentOS7 中安全模块将 selinux 权限禁掉了,添加此参数,可以将问题解决。
查看容器 IP:
1 |
|
也可以直接输出 IP 地址:
1 |
|
删除容器
1 |
|
常见的应用部署
MySQL 部署:
1 ,拉取镜像:
1 |
|
2 ,创建容器:
1 |
|
其中: -p 代表端口映射,格式为 宿主机映射端口:容器运行端口 -e 代表添加环境变量 MYSQL_ROOT_PASSWORD 是 root 用户的登录密码 3 ,进入 mysql 容器:
1 |
|
4 ,登录 mysql :
1 |
|
tomcat 部署:
1 ,拉取镜像
1 |
|
2 ,创建容器
1 |
|
Nginx 部署:
1 ,拉取镜像
1 |
|
2 ,创建 nginx 容器
1 |
|
Redis 部署:
1 ,拉取镜像
1 |
|
2 ,创建 redis 容器
1 |
|
迁移与备份
容器保存为镜像:
1 |
|
例:
1 |
|
将镜像保存为 tar 文件,例:
1 |
|
镜像恢复与迁移: -i 输入的文件,例:
1 |
|
Dockerfile
Dockerfile 是由一系列命令和参数构成的脚本,基于基础镜像,最终创建一个新的镜像,常用命令有:
1 |
|
需要注意一下,如果要使用 Dockerfile 文件,名字必须为「Dockerfile」,否则里面的命令不会有效。
镜像上传下载到镜像仓库
以前写过博客,感觉还是比较详细的:[Docker]Docker拉取,上传镜像到Harbor仓库(在上面应该也看到过了,再放一次)
关于 Docker 入门,我只能帮你到这儿了~