使用Docker启动常见的服务
获取镜像
1.查找所需要的镜像
docker search [镜像名称] 例如:docker search nginx
2.拉取镜像到当前服务器
docker pull [镜像名称] 例如:docekr pull docker.io/nginx
3.查看当前服务器已安装的镜像
docekr images
1.mysql
docker run --name mysql -e MYSQL_ROOT_PASSWORD=root
-p 3306:3306 -v/home/mysql/db:/var/lib/mysql -v/home/mysql/log:/var/log -v /home/mysql/conf:/etc/mysql/conf.d
-v /home/mysql/init:/docker-entrypoint-initdb.d mysql:5.7
- 参数释义
run为启动容器的命令
-- name # 创建的容器起名字
-e # 设置密码
-p # 前面的3306为外部访问端口,后3306为容器内部端口
-v #为挂载目录,即将容器内的路径映射到外部,可直接访问。
这里挂载了log,db,init,conf.d,使用时需增加权限(chomd 777 /文件夹)。
还应在conf.d下放置mysql配置文件。
mysql:5.7 # 为镜像的版本
mysql配置(下载后需修改文件名字为my.cnf): https://wwd.lanzoub.com/i8Q8K06diicd
2.redis
docker run -itd --name redis -p 6379:6379 redis
- 参数释义
run #为启动命令
-itd #-d后台运行it交互式运行
--name #容器名字
-p #前为外部访问端口,后为容器端口
#可增加的配置
-v #挂载目录,一般为数据目录和配置文件
--restart=always #自动重启
--privileged=true #获取root权限
--appendonly yes #数据持久化
#更多可参考docekr官网: https://hub.docker.com/_/redis
3.nginx
docker run --name nginx8093 -p 8093:80
-v /docker/nginx8093/log:/var/log
-v/docker/nginx8093/html:/usr/share/html
-v/docker/nginx8093/conf.d:/etc/nginx/conf.d
-v /docker/nginx8093/conf.d/nginx.conf:/etc/nginx/nginx.conf [镜像id或名称]
注意:挂载目录或文件需要前先进行创建。