Mac安装Docker及配置开发环境
1. Docker的安装
- 使用 Homebrew 安装
Homebrew 的 Cask 已经支持 Docker for Mac,因此可以很方便的使用 Homebrew Cask 来进行安装:
$ brew cask install docker
==> Creating Caskroom at /usr/local/Caskroom
==> We'll set permissions properly so we won't need sudo in the future
Password: # 输入 macOS 密码
==> Satisfying dependencies
==> Downloading https://download.docker.com/mac/stable/21090/Docker.dmg
######################################################################## 100.0%
==> Verifying checksum for Cask docker
==> Installing Cask docker
==> Moving App 'Docker.app' to '/Applications/Docker.app'.
在载入 Docker app 后,点击 Next,可能会询问 macOS 登陆密码。之后会弹出一个 Docker 运行的提示窗口,状态栏上也有有个小鲸鱼的图标。
- 手动安装
https://download.docker.com/mac/stable/Docker.dmg
可以去官网找,也可以下载上方链接stable版本的dmg文件。
安装后使用docker version
命令查看版本。
阿里云镜像的加速地址配置
由于网络原因,速度回较慢,要么挂梯子要么配一下国内加速地址。阿里云有提供。
-
登录阿里云–控制台-产品与服务–搜索找到 容器镜像服务-镜像加速器。
-
复制该地址,在任务栏点击 Docker for mac 应用图标 -> Perferences… -> Daemon -> Registry mirrors。在列表中填写加速器地址即可。修改完成之后,点击 Apply & Restart 按钮,Docker 就会重启并应用配置的镜像地址了。
之后我们可以通过 docker info 来查看是否配置成功。
$ docker info
Registry Mirrors:
http://hub-mirror.c.163.com
Live Restore Enabled: false
至此Docker安装基本完成。
2. 镜像的配置
1. Mysql的安装配置
1. 下载镜像
docker pull mysql
:下载镜像
完成后使用 docker images
查看当前镜像
2. 配置容器
docker run -P --name dmysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
- -P:随机生成端口绑定
- –name: 容器名
- 同时设置密码为 123456
docker ps (-a)
:查看在运行的容器
加上 -a 显示所有容器,可以使用docker start 容器名
启动关闭的容器。
上图可以看到是32768端口映射3306,也就说在你本机物理机环境连接docker内的MySQL是使用该端口连接。
- 如果需要修改端口映射。这里参考一篇博客:https://hacpai.com/article/1539443516942
- 以及Stack Overflow上的问答:https://stackoverflow.com/questions/19335444/how-do-i-assign-a-port-mapping-to-an-existing-docker-container?utm_source=hacpai.com
3. 进入容器
可以使用 exec 命令:
语法
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
OPTIONS说明:
-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端
这里使用 :docker exec -it dmysql mysql -uroot -p
进入刚才创建的 dmysql 容器,输入mysql密码后,就正常进入mysql了。
4. mysql远程连接权限修改
如果需要远程(或局域网本机)。需要修改权限配置和加密方式
grant all PRIVILEGES on *.* to [email protected]'%' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql> ALTER user 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.03 sec)
mysql> ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.03 sec)
mysql> FLUSH PRIVILEGES;
5. Navicat 连接
这里可以连接,端口就是之前随机生成的。
2. Tomcat 的配置
- …updating