Docker容器化技术

1.Docker概念
• Docker 是一个开源的应用容器引擎
• 诞生于 2013 年初,基于 Go 语言实现, dotCloud 公司出品(后改名为Docker Inc)
• Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上。
• 容器是完全使用沙箱机制,相互隔离
• 容器性能开销极低。
• Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版)
2.安装Docker
1 | 1、yum 包更新到最新 |
3.配置Docker镜像加速器
提升下载速度
第一步:登录阿里云获取镜像加速地址
每个人的加速器地址不一样

第二步:Linux命令行执行如下命令
直接将阿里云上提供的命令直接粘贴到命令行即可


第三步:查看是否配置成功
1 | 查看刚才配置的文件是否存在 |
出现下图所示的内容表示配置成功

4.Docker相关命令
4.1 Docker进程相关的命令
1 | 启动docker服务: |
4.2 Docker镜像相关的命令
查看镜像对应版本号的网站: https://hub.docker.com/

1 | 查看镜像: 查看本地所有的镜像 |
4.3 容器相关的命令
1 | 查看容器 |
参数说明:
• -i:保持容器运行。通常与 -t 同时使用。加入it这两个参数后,容器创建后自动进入容器中,退出容器后,容器自动关闭。
• -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用。
• -d:以守护(后台)模式运行容器。创建一个容器在后台运行,需要使用docker exec 进入容器。退出后,容器不会关闭。
• -it 创建的容器一般称为交互式容器,-id 创建的容器一般称为守护式容器
• –name:为创建的容器命名。
1 | 进入容器 |
5.Docker 应用部署
Docker中常见的应用安装部署,详细内容请参考下面文章
开发环境的搭建 | The Blog (qingling.icu)
5.1、部署MySQL
- 搜索mysql镜像
1 | docker search mysql |
- 拉取mysql镜像
1 | docker pull mysql:5.6 |
- 创建容器,设置端口映射、目录映射
1 | 在/root目录下创建mysql目录用于存储mysql数据信息 |
1 | docker run -id \ |
- 参数说明:
- -p 3307:3306:将容器的 3306 端口映射到宿主机的 3307 端口。
- -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。配置目录
- -v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。日志目录
- -v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。数据目录
- -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
- 进入容器,操作mysql
1 | docker exec –it c_mysql /bin/bash |
- 使用外部机器连接容器中的mysql

5.2、部署Tomcat
- 搜索tomcat镜像
1 | docker search tomcat |
- 拉取tomcat镜像
1 | docker pull tomcat |
- 创建容器,设置端口映射、目录映射
1 | 在/root目录下创建tomcat目录用于存储tomcat数据信息 |
1 | docker run -id --name=c_tomcat \ |
参数说明:
-p 8080:8080:将容器的8080端口映射到主机的8080端口
-v $PWD:/usr/local/tomcat/webapps:将主机中当前目录挂载到容器的webapps
- 使用外部机器访问tomcat

5.3 部署Nginx
- 搜索nginx镜像
1 | docker search nginx |
- 拉取nginx镜像
1 | docker pull nginx |
- 创建容器,设置端口映射、目录映射
1 | 在/root目录下创建nginx目录用于存储nginx数据信息 |
1 | user nginx; |
1 | docker run -id --name=c_nginx \ |
- 参数说明:
- -p 80:80:将容器的 80端口映射到宿主机的 80 端口。
- -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:将主机当前目录下的 /conf/nginx.conf 挂载到容器的 :/etc/nginx/nginx.conf。配置目录
- -v $PWD/logs:/var/log/nginx:将主机当前目录下的 logs 目录挂载到容器的/var/log/nginx。日志目录
- 使用外部机器访问nginx

5.4 部署Redis
- 搜索redis镜像
1 | docker search redis |
- 拉取redis镜像
1 | docker pull redis:5.0 |
- 创建容器,设置端口映射
1 | docker run -id --name=c_redis -p 6379:6379 redis:5.0 |
- 使用外部机器连接redis
1 | ./redis-cli.exe -h 192.168.149.135 -p 6379 |






