镜像基础命令
- 找镜像
eg:去docker bub,找nginx镜像
docker pull nginx 下载的是最新版本
下载指定版本 镜像名:版本名(标签)
docker pull nginx:1.21.4
- 查看docker镜像
docker images
- 移除镜像
1 docker rmi 镜像ID 推荐使用
2 docker rmi 镜像名称:镜像版本
docker rmi nginx ====> 相当于 docker rmi ngnix:latest
容器基础命令
- 移除容器
移除停止运行的容器
docker rm 容器ID/容器名称
移除正在运行的容器
docker rm -f 容器ID/容器名称
- 查看容器列表
查看正在运行的容器列表
docker ps
查看所有容器列表
docker ps -a
- 运行容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG…]
[OPTIONS] 设置项
IMAGE 镜像名
[COMMAND] 镜像启动运行的命令(镜像里面默认有的,一般不写)
docker run --name=mynginx -d --restart=always -p 88:80 nginx
–name 设置容器名称
-d 后台运行
–restart=always 开机自启
-p 88:80 端口映射 88 主机端口,80 nginx容器端口
端口映射不能通过update命令操作
- 停止容器
docker stop 容器ID
- 启动容器
docker start 容器ID
- 更新容器,主要是更新设置项
docker update 容器ID [设置项 --restart=always]
eg : docker update 769de707b03c --restart=always
修改容器内容
- 进入容器内部修改
docker exec -it 容器ID /bin/bash(sh)
-i 交互
-t 分配终端
/bin/bash 进入bash控制台或sh控制台
eg: docker exec -it 385ba7adf9fa /bin/bash(sh)
修改nginx的index.html
- 挂载数据到外部修改
docker run --name=mynginx -d -p 88:80 \
-v /data/html:/usr/share/nginx/html:ro nginx
-v :挂载数据
ro:read only 只能在外部修改,内部只允许读
提交修改后的容器
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
eg: docker commit -a “dly” -m “首页修改” 385ba7adf9fa dly_nginx:v1.0
-a : 作者
-m : 变更信息
容器传输
1.容器打包
docker save [OPTIONS] IMAGE [IMAGE…]
eg :docker save -o dly_nginx.tar 34e4fb3ac195
-o : output
2 加载容器
docker load [OPTIONS]
eg :docker load -i abc.tar
-i : input
推送镜像到远程仓库
1:把旧镜像名称,改成仓库要求的新版名称
docker tag local-image:tagname new-repo:tagname
eg :docker tag dly_nginx:v1.0 dlydocker/nginx:v1.0
2:docker login
3推送
docker push new-repo:tagname
eg: docker push dlydocker/nginx:v1
4 退出
docker logout
补充
docker logs 容器名/ID #查看日志 用来排错
docker exec -it 容器id /bin/bash #进入容器内部修改
#把容器指定位置的东西复制出来
docker cp 容器id:/目录/文件 /本机目录
# 复制容器nginx配置文件到服务器指定目录
eg:docker cp eb952d0befab:/etc/nginx/nginx.conf /data/conf/nginx.conf
#把服务器文件复制到容器里面
eg:docker cp /data/conf/nginx.conf eb952d0befab:/etc/nginx/nginx.conf
#挂载nginx配置文件和index页面到主机,需要提前准备好配置文件
docker run -d -p 80:80 \
-v /data/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /data/html:/usr/share/nginx/html:ro \
--name=nginx3 nginx