Docker概述
Docker是一个开源的应用容器引擎,基于Go语言开发, 是一个运行在Linux上的软件
Docker作用: 可以直接把测试环境拉取一个镜像完全复制 (将你的应用迁移, 将你的软件运输)
Docker应用场景:
- Web 应用的自动化打包和发布 (制作镜像)
- 自动化测试和持续集成、发布 (可持续集成)
- 在服务型环境中部署和调整数据库或其他的后台应用 (安装各种组件)
Docker容器:
是在操作系统层面上实现虚拟化, 直接复用本地主机的操作系统, 而传统虚拟机则是在硬件层面实现虚拟化, 启动速度快, 占用体积小
Docker组成: Docker守护进程, 仓库, 镜像, 容器, Docker客户端
1. Docker安装与启动
Docker安装
以下是在CentOS7中安装Docker的步骤:
1 | # 0. 首先保证自己电脑的虚拟网卡为NAT模式 |
*设置ustc镜像 *
因为原来的网速太差, 所以改一下, 编辑文件/etc/docker/daemon.json
1 | # 执行如下命令: |
在文件中加入下面内容
1 | { |
需求更新yum源和镜像源安装docker;安装之后可以使用
docker -v
1 | # 启动 |
Docker启动与停止命令
1 | # 启动docker服务: |
##2. 镜像相关命令
*2.1 查看镜像 *
1 | # 查看镜像可以使用如下命令: |
*2.2 搜索镜像 *
1 | # 如果你需要从网络中查找需要的镜像,可以通过以下命令搜索 |
*2.3 拉取镜像 *
1 | # 拉取镜像就是从Docker仓库下载镜像到本地,镜像名称格式为 名称:版本号,如果版本号不指定则是最新的版本 命令如下: docker pull 镜像名称 # 如拉取centos 7; |
*2.4 删除镜像 *
1 | # 可以按照镜像id删除镜像,命令如下: |
3. 查看&创建并启动交互式容器
1 | # 查看容器 |
启动交互式容器之后是直接进入容器终端;可以查看容器的文件结构;使用exit命令则会退出终端并且停止容器。
4. 创建并启动守护式容器
1 | # 创建并启动守护式容器 |
守护式容器在启动之后会一直在后台运行,即使进入容器之后执行exit命令也不会停止容器;
适用于需要长期运行容器的情况
*停止并启动容器 *
1 | # 停止正在运行的容器:docker stop 容器名称或者ID |
查看容器ip
1 | # 在linux宿主机下查看 mycentos2 的ip |
删除容器
1 | # 删除容器 |
5. Docker应用部署-MySQL部署
拉取镜像
1
2# 拉取MySQL 5.7镜像
docker pull centos/mysql-57-centos7创建容器
1
2# 创建mysql5.7容器
docker run -di --name=mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root centos/mysql-57-centos7-p 代表端口映射,格式为 宿主机映射端口:容器运行端口
-e 代表添加环境变量 MYSQL_ROOT_PASSWORD 是root用户的远程登陆密码(如果是在容器中使用root登录的话, 那么其密码为空)
操作容器MySQL
1
2
3
4# 拉取MySQL 5.7镜像
docker exec -it mysql5.7 /bin/bash
# 登录容器里面的mysql
mysql -u root -p在虚拟机登陆时密码为空即可
远程登录MySQL
1
2# 查看ip;如果以后要内部连接该mysql,如其他容器中要连接mysql容器的mysql的时候,可以使用如下命令查看
Ip docker inspect mysql5.7使用SQLyog/Navicat在windows中进行远程登录在docker容器中的mysql。
1
2
3
4主机ip: 虚拟机ip
端口: 3306
用户名: root
密码: root
6.迁移与备份
7.docker-compose
8.Dockerfile
发布时间: 2019-12-12
最后更新: 2019-12-14
本文标题: Docker入门
本文链接: https://shiyongxu.github.io/2019/12/12/Docker/
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可。转载请注明出处!