LOADING

正在加载

docker常用命令

壹 说明

该文章主要记录平时使用的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

导入:
064b60d1ce955d1aeeee7ea94d6a38d2.png

导入: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 使用对应功能

d5c440d73a1a0e58069ac6a2aee73eb7.png

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 镜像命令

8debd36dd0d2ce0dfd78d53b92544c6b.png

2.16 创建容器常用选项

1f87032c5e05054c89e83651d2fd3d69.png
5c0300b40cb9c41ce6e0b890010a4ccb.png

有用: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服务后可以正常logindocker私服

systemctl daemon-reload && systemctl restart docker

接着就是登录

docker login IP:23080
user:admin
password:
Login Succeeded

上传镜像到在Harbor上,查看docker images

docker images

44e8a8474742966e1f5da76b90c25a31.png

修改tagtag的命名需要通过Harbor仓库获得命令:

98ace426c1902b0d78332029f65bf538.png

# 通过Harbor仓库获得tag,执行下面命令
docker tag imagesID {Harbor地址}:{端口}/{Harbor项目名}/{自定义镜像名}:{自定义tag}
# 例子
docker tag fdb2dda420ac IP:23080/2021-xianxiajs/pwn-mid-akernel:v1 

上传镜像到Harbor仓库:

docker push 就是刚刚修改的tag

00610892dacb487501a27247fbc79bdf.png

2.20 查看docker前台命令

docker ps -a --no-trunc

434278ca01b6d30a052ac6212094a509.png

avatar
小C&天天

修学储能 先博后渊


今日诗句