volume 关键字指定某一个容器里面,产生的数据—》让它挂载到linux主机上的某一个目录上面,创建一个叫做Data Volume的对象(VOLUME /var/lib/mysql)
运行一个mysql 的container :
docker run -d --name mysql1 -e MYSQL_ALLOW_EMPTY_PASSWORD
=true mysql
MYSQL_ALLOW_EMPTY_PASSWORD
允许为空查看容器:docker ps (查看日志:docker logs mysql1)
查看volumne : docker volume ls
删除volume: docker volume rm (id)
删除容器:docker rm mysql
停止容器: docker stop mysql1 mysql2
删除容器: docker rm mysql1 mysql2
创建的volume的名字不是 很友好,太长了—>起别名代替
-v mysql:/var/lib/mysql
mysql 是本地的 /var/lib/mysql是container 的目录
docker run -d -v mysql:/var/lib/mysql --name mysql1 -e MYSQL_ALLOW_EMPTY_PASSWORD
=true mysql(指imageID)
进入到容器mysql1里面:docker exec -it mysql2 /bin/bash ----> mysql -u root
-d后台运行
–name 命名名称
-v 映射数据的存储目录 本地的mysql-data : 运程/var/lib/mysql
-e 环境变量的设置 MYSQL_ROOT_PASSWORD
=root 用户名和密码都是root
MYSQL_DATABASE
要去创建的数据库
-p 曝露3360的端口映射到本地(不用做端口映射,不是供外人访问的。供wordpress这个容器访问的,wordpress 和 mysql 连到同一个dockerBridge 上面,他们的端口天然是可以访问的)
mysql :指定docker的Image —>mysql
docker run -d --name mysql -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=wordpress mysql
查看运行的container : docker ps
WORDPRESS_DB_HOST: 指定数据库DB的主机host (mysql:3306)
-p把wordpress的80端口映射到本地的8080端口
docker run -d -e WORDPRESS_DB_HOST=mysql:3306 --link mysql -p 8080:80 wordpress
第三步:浏览器输入127.0.0.1:8080 查看
问题:从dockerhub上拉下来的mysql 用不了
查看是否安装docker compose : docker -compose --version
docker-compose的安装:
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
启动一个docker-compose.yml 的文件: docker-compose up --help
docker-compose up 默认参数就是docker-compose.yml文件
或者指定文件:docker-compose -f docker-compose.yml up
docker-compose stop 停止 ;docker-compose start 开始;docker-compose ps 查看;
删除:docker-compose down
docker-compose up -d 后台运行
docker-compose images 例举出docker-compose所有的container,image
docker-compose exec 后面跟 的是service : eg. docker-compose exec mysql bash 进入mysql 里面; 进到wordpress里:docker-compose exec wordpress bash 进到wordpress container里面。
docker network ls 可以查看名字,与yum文件里面定义的名字不一样。