一、Docker常用命令-图谱
二、基础实战命令
2.1、查找镜像
去docker hub或者其他镜像仓库,找到nginx镜像
docker pull nginx #下载最新版 ## 镜像名:版本名(标签) docker pull nginx:1.20.1 docker pull redis #下载最新 docker pull redis:6.2.4 ## 下载来的镜像都在本地 docker images #查看所有镜像 redis = redis:latest docker rmi 镜像名:版本号/镜像id
2.2、启动容器
启动nginx应用容器,并映射88端口,测试的访问
docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 【docker run 设置项 镜像名 】 镜像启动运行的命令(镜像里面默认有的,一般不会写) # -d:后台运行 # --restart=always: 开机自启 # -p 端口映射 docker run --name=mynginx -d --restart=always -p 88:80 nginx # 查看正在运行的容器 docker ps # 查看所有 docker ps -a # 删除停止的容器 docker rm 容器id/名字 docker rm -f mynginx #强制删除正在运行中的 #停止容器 docker stop 容器id/名字 #再次启动 docker start 容器id/名字 #应用开机自启 docker update 容器id/名字 --restart=always
2.3、修改容器内容
修改默认的index.html 页面
2.3.1、进入容器内部修改
# 进入容器内部的系统,修改容器内容 其中-it表示以交互模式进入 docker exec -it 容器id /bin/bash ##或者 docker exec -it 容器id /bin/sh
nginx页面的位置存放地址:
/usr/share/nginx/html/
cd /usr/share/nginx/html/ ls ##修改index.html内容 echo "<h1>Welcome to Tigerhhzz-nginx</h1>" index.html cat index.html
访问效果:
2.3.2、挂载数据到外部修改
##本地挂载目录 /data/html
## nginx镜像的默认目录 /usr/share/nginx/html
两个目录进行关联映射:
## 其中ro代表只读 rw可读可写 docker run --name=mynginx \ -d --restart=always \ -p 88:80 -v /data/html:/usr/share/nginx/html:ro \ nginx # 修改页面只需要去 主机的 /data/html
2.4、提交改变
将自己修改好的镜像提交
把容器提交成一个新的镜像:
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] docker commit -a "tigerhhzz" -m "首页变化" 7d383e781cd9 tigernginx:v1.0
2.5、镜像传输–将镜像保存成压缩包
docker save --help
# 将镜像保存成压缩包 docker save -o tigernginx.tar tigernginx:v1.0 # 别的机器加载这个镜像 docker load -i tigernginx.tar # 离线安装
2.6、两台主机间压缩文件的传输拷贝
scp tigernginx.tar root@39.xx.xx.123:/root/
2.7、推送阿里云个人远程镜像仓库
推送镜像到阿里云个人镜像仓库;应用市场
##首先打标签 docker tag tigernginx:v1.0 registry.cn-zhangjiakou.aliyuncs.com/tiger-aliyun-namespace/tigernginx:v1.0 ##登录阿里云个人镜像仓库 docker login --username=aliyun2164344789 registry.cn-zhangjiakou.aliyuncs.com ##这里会提示输入登录密码 登录成功后 ##推送镜像到个人仓库 docker push registry.cn-zhangjiakou.aliyuncs.com/tiger-aliyun-namespace/tigernginx:v1.0
2.8、其他常用命令
2.8.1、查看日志
docker logs 容器名/id 排错 docker exec -it 容器id /bin/bash
2.8.2、挂载配置文件
##主机配置文件目录 /data/conf/nginx.conf ##nginx镜像的配置文件目录 /etc/nginx/nginx.conf
两者进行映射关联:
# docker 经常修改nginx配置文件 docker run -d -p 80:80 \ -v /data/html:/usr/share/nginx/html:ro \ -v /data/conf/nginx.conf:/etc/nginx/nginx.conf \ --name mynginx-02 \ nginx
2.8.2、在容器内外之间复制文件
#把容器指定位置的东西复制出来 docker cp 5eff66eec7e1:/etc/nginx/nginx.conf /data/conf/nginx.conf #把外面的内容复制到容器里面 docker cp /data/conf/nginx.conf 5eff66eec7e1:/etc/nginx/nginx.conf
2.9、运行redis和nginx镜像完整命令
##运行redis镜像 docker run -v /root/data/redis/redis.conf:/etc/redis/redis.conf \ -v /root/data/redis/data:/data \ -d --name myredis \ -p 6379:6379 \ redis:latest redis-server /etc/redis/redis.conf
##运行nginx镜像 # docker 经常修改nginx配置文件 docker run -v /root/data/nginx/html:/usr/share/nginx/html:ro \ -v /root/data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ -d --name mynginx \ -p 88:80 \ nginx:latest
查找文件命令
##查看文件: find / -name xxxx
每一个裂缝都是为透出光而努力