通过 vagrant 搭建的虚拟机docker 环境,执行命令时如何去掉前面的 sudo?
sudo groupadd docker
sudo gpasswd -a vagrant docker
重新ssh 进入虚拟机,即可。
常用命令:
// 列举全部container 的id
docker container ls -aq
// 删除所有container
docker rm $(docker container ls -aq)
// 列举全部已退出(exited) 的容器
docker container ls -f "status=exited"
// 列举全部已退出(exited) 的容器的id
docker container ls -f "status=exited" -q
// 删除所有已退出的容器
docker rm $(docker container ls -f "status=exited" -q)
Now,一起搭建一个 mysql 环境
环境:mac (未使用vagrant 虚拟机)
// 创建mysql 容器
docker run -d --name mysql -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=wordpress mysql
// 创建wordpress 容器
docker run -d -e WORDPRESS_DB_HOST=mysql:3306 --link mysql -p 8080:80 wordpress
创建容器成功后,可以通过docker ps
指令查看有如下容器:
本地访问http://127.0.0.1:8080 即可看到wordpress 用户界面
问题
最新版本的mysql 在授权方面有些变化,可能会遇到容器创建完后不能够访问,此时可以进入到mysql 的容器中,执行如下操作
- 进入mysql 容器中
docker exec -it mysql /bin/bash
- 进入mysql 客户端
mysql -u root -p root
>ALTER USER root IDENTIFIED WITH mysql_native_password BY 'root';
- 重启wordpress 容器
参考
https://hub.docker.com//mysql
https://hub.docker.com//wordpress
至此,结束。