常用docker命令
更换阿里云的资源
修改 /etc/docker/daemon.json,地址去阿里云申请就行。"registry-mirrors": ["https://这部分大家都不一样.mirror.aliyuncs.com"]
修改完后,重新加载一下配置,然后重启dockersystemctl daemon-reloadsystemctl restart docker
当然你也可以用中科大的镜像 https://docker.mirrors.ustc.edu.cn
创建mysql5.7
在宿主机 /root目录下设置端口映射和目录映射# 在/root目录下创建mysql目录用于存储mysql数据信息 mkdir ~/mysql cd ~/mysql
这里 -p参数的前面是宿主机的端口号,后面是容器的端口号docker run -di --name=mysql -p 3306:3306 -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root --privileged=true --restart=always mysql:5.7
安装的是mysql 5.6的话,使用下面的命令docker run -di --name=mysql -p 3306:3306 -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root --privileged=true --restart=always mysql:5.6
注意下上面的几个目录,有可能没有。需要自己创建一下。创建的命令如下:mkdir -p 文件路径
创建redisdocker run -di --name=redis -p 6379:6379 --restart=always redis
进入容器
以进入mysql为例sudo docker exec -it mysql /bin/bash
创建Nginx
在宿主机/root目录下配置端口映射和目录映射# 在/root目录下创建nginx目录用于存储nginx数据信息 mkdir ~/nginx cd ~/nginx mkdir conf cd conf vim nginx.conf
# 在~/nginx/conf/下创建nginx.conf文件,粘贴下面内容user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main "$remote_addr - $remote_user [$time_local] "$request" " "$status $body_bytes_sent "$http_referer" " ""$http_user_agent" "$http_x_forwarded_for""; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; }
创建nginxdocker run -id --name=c_nginx -p 80:80 --privileged=true -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf -v $PWD/logs:/var/log/nginx -v $PWD/html:/usr/share/nginx/html nginx
参数说明:
- -p 80:80:将容器的 80端口映射到宿主机上的 80 端口。
- -v $
PWD/conf/nginx.conf:/etc/nginx/nginx.conf:将主机当前目录下的 /conf/nginx.conf 挂载到容器的 :/etc/nginx/nginx.conf。配置目录
- -v $PWD/logs:/var/log/nginx:将主机当前目录下的 logs 目录挂载到容器的/var/log/nginx。日志目录