windows下docker学习记录
来源:互联网 发布:欧盟2015年gdp总量数据 编辑:程序博客网 时间:2024/06/10 09:32
docker安装:直接在官网上选择windows版本下载安装即可,如果下载完不能安装,则会提示你到 https://www.docker.com/products/docker-toolbox 下载toolbox去安装。
装完docker,虚拟机的数据默认放在c盘,可通过如下方式修改:
在控制面板中->管理工具->Hyper-V 管理器->Hyper-V设置->修改虚拟硬盘的路径。
安装完毕后,可以尝试执行命令:
查看版本:docker version
查看详细信息:docker info
windows下的docker由于用到虚拟机,因此需要打开BIOS的虚拟化技术。
运行第一个hello-world:
docker run hello-world
看到这里就说明成功了。
其实第一次跑本机是没有的,所以会执行下载的过程,而下载的过程有时会比较漫长,等不了的话可以去阿里云注册个账号,
然后在开发者平台
https://dev.aliyun.com/search.html 这里查找相应的镜像,在右边会有个加速地址可以获取
获取到一个url链接后先复制着,然后在设置这里(如下图)粘贴后apply即可。
其他版本可以查看这里:docker使用阿里云Docker镜像库加速
搭建Mysql:
执行命令进行搜索(可选):docker search mysql
执行命令:docker pull mysql
等待下载完成即可用命令查看:docker images
接下来创建容器:docker run -p 3307:3306 --name mymysql -v F:\docker_ws\mysql\data:/var/lib/mysql -v F:\docker_ws\mysql\logs:/var/log/mysql -v F:\docker_ws\mysql\conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root -d mysql:latest
其中"-p 3307:3306" 即是将容器内的3306端口映射到本机的3307端口
“--name mymysql” 即是为容器取个名字
“-v F:\docker_ws\mysql\data:/var/lib/mysql”即是将数据保存在本机的data目录,如果没有指定,则默认保存在容器内,那么容器一旦关闭也就意味着数据丢失
“-v F:\docker_ws\mysql\logs:/var/log/mysql”即是将日志保存在本机的logs目录,可不写
“-v F:\docker_ws\mysql\conf:/etc/mysql/conf.d”即是将conf.d目录挂载到本机的conf目录,可不写
“-e MYSQL_ROOT_PASSWORD=root ” 即是为root用户指定密码
“-d mysql:latest”即是指定mysql的镜像,冒号后面可以跟版本号,这里用latest
其中-d 是在后台运行的意思。
如无意外,回车后会给出一串字符串即为刚刚创建的容器id,此时可以用命令docker ps 查看下容器的信息(不包含已经停止运行的,如果要查看所有,则执行docker container ls -a)
有的时候创建容器失败是因为同名的问题,此时你需要手动执行 "docker stop 容器id"和“docker rm 容器id”,这样就完全把同名的容器删除了,再创建就没有问题了。
容器启动成功后就可以测试连接到数据库,可以用navicat,如果本机已有mysql命令,则执行
mysql -P3307 -uroot -p
回车输入密码即可进到mysql,如果提示
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0
则有可能是容器刚刚启动,数据库的初始化还没完成,等待一段时间后再连接就可以了。
如果想进入到容器内,则执行
docker exec -it containerName bash
其中containerName需要替换为容器的名称。如果想查看容器的日志,则执行
docker logs containerName
如果想备份容器内的数据库,则执行
docker exec containerName sh -c "exec mysqldump --databases test -uroot -p"$MYSQL_ROOT_PASSWORD"" > ./databases-test.sql
如图是将名为test的数据库备份到all-databases.sql中。
如果想知道路径的映射,则执行
docker inspect -f '{{.Config.Volumes}}' containerID
其中containerID是容器id。
- windows下docker学习记录
- Docker学习系列(一):windows下安装docker
- Docker学习系列(一):windows下安装docker
- Docker学习系列(一):windows下安装docker
- Docker学习系列(一):windows下安装docker
- Docker学习系列(一):windows下安装docker
- docker学习记录
- docker学习记录
- Docker学习记录
- Docker学习记录
- windows下安装docker
- Windows下安装Docker
- windows下安装docker
- windows下安装docker
- Windows下安装Docker
- windows下安装docker
- Windows下安装Docker
- [学习记录]Windows下C++ Socket通信
- Eclipse安装Git插件以及关联导入Github项目
- 队列——顺序队列
- Notes
- express框架
- 利用Css--border设计三角形
- windows下docker学习记录
- 信号
- iOS中导航栏隐藏后,设置状态栏不透明效果
- ProGuard混淆代码
- eclipse 从Git导入maven项目
- [LeetCode] 486. Predict the Winner
- 数据结构之快速排序
- 用SearchGuard做elasticsearch的登录认证
- 本地搭建 XAMPP + WordPress