Docker常用命令
Docker 常用操作
拉取镜像
1 | docker pull nginx |
查看所有镜像
1 | docker images |
查看所有容器
1 | docker ps -a |
启动 nginx
服务
1 | docker run --name nginx -p 80:80 -d nginx |
--name 容器名
容器别名-p 宿主机ip:容器ip
端口号-d 镜像名
拉取的镜像名
进入容器内部(前提:nginx 服务已启动)
1 | # 进入容器 |
docker 拷贝文件(前提同上)
从宿主机拷贝文件到容器里面
1
2# docker cp 宿主机文件 容器名:文件
docker cp /opt/nginx/7069655_zxiaosi.net.pem nginx:/etc/nginx/从容器拷贝文件到宿主机里面
1
2# docker cp 容器名:文件 宿主机文件
docker cp nginx:/usr/local/tomcat/webapps/test/js/test.js /opt
查看容器信息(前提同上)
1 | docker inspect 容器名 |
停止容器服务
1 | docker stop 容器名 | 容器id |
重启容器服务
1 | docker restart 容器名 | 容器id |
删除容器
1 | docker stop 容器名 | 容器id |
删除镜像
1 | docker rmi 镜像 |
Docker 安装服务
docker 部署 nginx
拉取
nginx
1
docker pull nginx
启动
nginx
1
docker run --name nginx -p 80:80 -d nginx
访问服务器 ip,显示 nginx,代表启动成功!(务必打开防火墙的80端口)
$PWD
表示当前文件夹1
2# 输出当前文件夹名
echo $PWD拷贝配置文件到自定义文件夹(如果已经有文件可以不用拷贝)
1
2
3
4
5
6
7
8
9
10
11
12
13
14# 拷贝conf.d
docker cp nginx:/etc/nginx/conf.d /opt/docker/nginx
# 拷贝nginx.conf
docker cp nginx:/etc/nginx/nginx.conf /opt/docker/nginx/
# 拷贝html
docker cp nginx:/usr/share/nginx/html /opt/docker/nginx
# 拷贝日志
docker cp nginx:/var/log/nginx /opt/docker/nginx/logs
# ssl证书位置
/opt/docker/nginx/ssl/停止并删除 nginx 服务
1
2docker stop nginx
docker rm nginx通过挂载的方式启动
nginx
1
2
3
4
5
6
7
8
9docker run --name nginx \
-p 80:80 \
-p 443:443 \
-v /opt/docker/nginx/logs:/var/log/nginx \
-v /opt/docker/nginx/conf.d:/etc/nginx/conf.d \
-v /opt/docker/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /opt/docker/nginx/html:/usr/share/nginx/html \
-v /opt/docker/nginx/ssl:/etc/nginx/ssl/ \
-d nginx- 用了
$PWD
,请在宿主机所在的自定义文件夹内 -v 宿主机文件:容器文件
- 用了
docker 部署 mysql
docker 部署 redis
docker 多个容器协同(以 redis
为例)
进入 redis 容器里面
1
docker exec -it redis bash
查看当前容器
host
1
cat /etc/hosts
当主服务需要连接
redis
的时候,执行下面命令1
2# --link name:alias
docker run --name backend -d -p 80:80 --link redis:redis nginx查看
backend
的host
修改主服务连接
docker
内redis
的连接(@host:port -> 镜像名)1
2
3
4
5// redis//user:password@host:port/db
redis://user:password@redis:6379/db
// mysql://root:123456@localhost:3306/elective_system?charset=utf8
mysql://root:123456@mysql:3306/elective_system?charset=utf8重新开启服务即可完成
1
docker run --name nginx -d -p 80:80 --link redis:redis nginx
配置 ssl (域名需备案)
1 | server { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 小四先生的云!
评论