什么是Docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker的安装(CentOS)
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce -y
docker version
systemctl enable docker
systemctl start docker
找到/etc/docker目录下的daemon.json文件,没有就新建一个,添加如下内容:
{
"registry-mirrors": ["https://自己的阿里云加速地址.mirror.aliyuncs.com"]
}systemctl daemon-reload
systemctl restart docker
阿里云镜像加速器
阿里云镜像加速器,可以自行去注册。
获取镜像(mysql)
- docker pull mysql:8.0.17
- 查看本地镜像:docker image ls
运行容器
- 运行容器
docker run -p 3306:3306 --name mysql-finance -v /usr/docker/mysql-finance/conf:/etc/mysql/conf.d -v /usr/docker/mysql-finance/logs:/logs -v /usr/docker/mysql-finance/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.17
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。
-v /usr/docker/mysql-finance/conf:/etc/mysql/conf.d:将主机/usr/docker/mysql-finance目录下的 /conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。
-v /usr/docker/mysql-finance/logs:/logs:将主机/usr/docker/mysql-finance目录下的 logs 目录挂载到容器的 /logs。
-v /usr/docker/mysql-finance/data:/var/lib/mysql :将主机/usr/docker/mysql-finance目录下的data目录挂载到容器的 /var/lib/mysql 。
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
- 查看运行中的容器
docker ps/docker ps -l - 查看日志
docker logs -f mysql-finance - 此时已经可以访问mysql服务了
停止容器
- 停止容器
docker stop mysql-finance - 停止所有的容器
docker stop $(docker ps -a -q)
删除容器
- 删除容器
docker rm mysql-finance - 如果想要删除所有容器的话再加一个指令:
docker rm $(docker ps -a -q)
删除镜像
- 首先需要停止当前镜像的容器
- 删除当前镜像的容器
- 删除镜像
docker image rm mysql:8.0.17 - 删除所有镜像
docker image rm $(docker images -q)