Docker 初级

看这篇文章之前,你需要提前了解容器化的概念,以及docker的基础架构和概念
architecture.svg

安装环境

一个好的程序员,怎么能没有属于自己的测试环境。接下来我将记录真实的操作,一步一步搭建属于自己的测试环境。

环境准备:虚拟机,CentOS7.x,docker-ce,防火墙关闭。

  1. 虚拟机安装、关闭防火墙
1
复制代码略
  1. docker-ce安装
1
2
3
4
5
6
7
8
9
10
11
bash复制代码# 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
  1. docker镜像仓库加速、日志配置并重启docker服务
1
2
3
4
5
6
7
8
9
10
11
12
13
14
javascript复制代码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
  1. 验证
1
复制代码docker -v

至此,docker运行环境就弄好了

运行简单容器

接下来使用docker来运行第一个容器,以mysql为例

第一步:docker中央仓库调研

  • dockerhub 找到官方提供的mysql镜像
  • 提取关键信息
1
2
3
4
5
6
7
ini复制代码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镜像
1
复制代码docker pull mysql:latest
  • 查看镜像
1
复制代码docker images
  • 后台运行容器
1
bash复制代码docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /root/mysql-data:/var/lib/mysql mysql:latest
  • 查看运行的容器
1
复制代码docker ps
  • 进入mysql容器执行sql
1
2
3
4
bash复制代码docker exec -it mysql bash
mysql -uroot -p
# 输入密码:123456
show databases;

ok,至此,一个完整的容器运行完毕。当虚拟机重启,只需使用docker start mysql启动mysql服务。

小结:所有软件的镜像都如出一辙,通过简单的两步,任何软件都能使用docker管理起来。下一步,分享docker的网络和数据卷以及docker排错和一些使用上的技巧,敬请期待~

接下来:docker 高级

本文转载自: 掘金

开发者博客 – 和开发相关的 这里全都有

0%