壹 说明
该文章主要记录平时使用的docker
命令。
贰 常用命令
2.1 查看运行容器
语法:docker ps \[OPTIONS\]
OPTIONS说明:
-a :显示所有的容器,包括未运行的。
-f :根据条件过滤显示的内容。
--format :指定返回值的模板文件。
-l :显示最近创建的容器。
-n :列出最近创建的n个容器。
--no-trunc :不截断输出。
-q :静默模式,只显示容器编号。
-s :显示总的文件大小。
2.2 启动运行一个docker-compose
# -d:是进入后台运行
docker-compose up -d
2.3 运行dockerfile
docker build -t 生成的标签 -f dockerfile文件路径
docker run -d -p 本机端口:docker端口 imageID
2.4 运行本地dockerimae
要在使用的文件夹目录上使用选择:
docker:docker load -i 文件路径
端口映射:docker run -d -p 本机端口:docker端口 imageID
2.5 查看docker详细信息
docker inspect <id>
2.6 进入仓库
# 列出docker仓库
docker ps -a
# 进入仓库
docker exec -it 容器ID bash
# 打开docker服务
service docker start
# 列出docker
docker images ls
2.7 停用删除容器
# 停用全部运行中的容器
docker stop $(docker ps -q)
# 删除全部容器
docker rm $(docker ps -aq)
# 一条命令实现停用并删除容器
docker stop $(docker ps -q) & docker rm $(docker ps -aq)
# 删除镜像
docker stop 镜像ID
docker rm 镜像ID
docker rmi REPOSITORY:TAG
或者使用shell
脚本:
#!/bin/sh
docker rm -f $1
docker rmi $2
2.8 导入导出tar
导出:docker save 镜像名字 -o 绝对路径/名字.tar
导入:
导入:docker load -i 名字.tar
映射端口:docker run -itd -p 本机端口:docker端口 imageID
详细说明:Docker 容器使用
2.9 docker自启动
# 未启动
docker run -itd -p 58001:80 --restart=always --name web1-tingdia b0a15300483c
# 如果已经启动的项目.则使用update更新
docker update --restart=always 容器id
2.10 使用对应功能
2.11 把文件复制至docker容器
执行复制时命令的时候一定要退出docker
环境:
docker cp dir1 容器ID:/dir2
# 即把目录1整个复制到了容器中的dir2目录下
docker cp 容器ID:/dir1 dir2
# 即把容器中的目录1整个复制到了dir2目录下
2.12 看docker日志
docker logs docker的环境ID
2.13 重命名
# 这里将ceshi:vim重命名为ceshi/v1:vim
docker tag 旧的镜像名:TAG 新的镜像名:TAG
# 或者
docker tag image的ID 新的镜像名:TAG
docker tag ceshi:vim ceshi/v1:vim
2.14 将运行的容器打包成镜像
# -a :提交的镜像作者;
# -c :使用Dockerfile指令来创建镜像,就是在commit后面追加一个Dockerfile指令
# -m :提交时的说明文字;
# -p :在commit时,将容器暂停。
docker commit -a "runoob.com" -m "my apache" 容器名称或id 打包的镜像名称:标签
# 例子
docker commit 34170f88159e file_include
2.15 镜像命令
2.16 创建容器常用选项
有用:docker命令详细讲解
2.17 docker exec 不同用户登入
docker exec -it --user root <容器ID> /bin/bash
2.18 在运行的容器追加dockerfile命令
docker commit -c "ENTRYPOINT ["/run.sh"]" <容器id> <images名>
2.19 Harbor私服使用
首先在存放环境的虚拟机,将私服的htp地址配置到docker
的不安全register
中。
# vim /etc/docker/daemon.json
{"insecure-registries": ["10.10.10.137:23080"]}
重启docker
服务后可以正常login
进docker
私服
systemctl daemon-reload && systemctl restart docker
接着就是登录
docker login IP:23080
user:admin
password:
Login Succeeded
上传镜像到在Harbor
上,查看docker images
:
docker images
修改tag
,tag
的命名需要通过Harbor
仓库获得命令:
# 通过Harbor仓库获得tag,执行下面命令
docker tag imagesID {Harbor地址}:{端口}/{Harbor项目名}/{自定义镜像名}:{自定义tag}
# 例子
docker tag fdb2dda420ac IP:23080/2021-xianxiajs/pwn-mid-akernel:v1
上传镜像到Harbor
仓库:
docker push 就是刚刚修改的tag
2.20 查看docker前台命令
docker ps -a --no-trunc