看这篇文章之前,你需要提前了解容器化的概念,以及docker的基础架构和概念
安装环境
一个好的程序员,怎么能没有属于自己的测试环境。接下来我将记录真实的操作,一步一步搭建属于自己的测试环境。
环境准备:虚拟机,CentOS7.x,docker-ce,防火墙关闭。
- 虚拟机安装、关闭防火墙
略
- docker-ce安装
# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# Step 4: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo systemctl enable docker --now
- docker镜像仓库加速、日志配置并重启docker服务
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com"
],
"log-driver":"local",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
EOF
service docker restart
- 验证
docker -v
至此,docker运行环境就弄好了
运行简单容器
接下来使用docker来运行第一个容器,以mysql为例
第一步:docker中央仓库调研
- dockerhub 找到官方提供的mysql镜像
- 提取关键信息
Starting a MySQL instance is simple:
$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
Where to Store Data
$ docker run --name some-mysql -v /my/own/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
# 还有很多关于配置文件如何挂载,和一些环境变量,详细的Dockerfile也可以查看,此处只取最常用的一些
第二步:镜像拉取及容器运行
- 拉取mysql镜像
docker pull mysql:latest
- 查看镜像
docker images
- 后台运行容器
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /root/mysql-data:/var/lib/mysql mysql:latest
- 查看运行的容器
docker ps
- 进入mysql容器执行sql
docker exec -it mysql bash
mysql -uroot -p
# 输入密码:123456
show databases;
ok,至此,一个完整的容器运行完毕。当虚拟机重启,只需使用docker start mysql启动mysql服务。
小结:所有软件的镜像都如出一辙,通过简单的两步,任何软件都能使用docker管理起来。下一步,分享docker的网络和数据卷以及docker排错和一些使用上的技巧,敬请期待~
接下来:docker 高级