Docker / Podman 基础操作
Docker 镜像和容器的基础操作。Podman 用法与其相同,将docker
替换为podman
即可。
镜像管理
功能 | 命令 | 说明 |
---|---|---|
查找镜像 | docker search <关键字> |
|
下载镜像 | docker pull <镜像名> |
镜像名 = 镜像仓库名(用户名/软件名):tag,用户名为library时会省略,tag为latest时可省略 |
查看镜像 | docker image ls |
列出的镜像ID是镜像短ID,镜像ID一般使用时最少仅需取开头3、4位,能分辨即可。 |
删除镜像 | docker image rm <镜像名>/<镜像 ID> |
别名:docker rmi <镜像名>/<镜像 ID> |
容器管理
使用镜像创建容器 - docker run
命令
docker run [参数] <镜像名>
常用参数:
--name xxx
:给新容器命名为“xxx”-d
:后台运行-i
:进行交互式操作-t
:分配一个伪终端,一般与i一同使用-p xxxx:xxxx
:指定端口映射,格式为“主机端口:容器端口”-e xxx
:设置环境变量-v xx:xx
:挂载数据卷、主机目录--mount xx=xx,xx=xx
:同上
样例:
- MySQL 5
docker run -d \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=123456 \ --name mysql \ mysql:5
- PostgreSQL
docker run -d \ -p 5432:5432 \ -e POSTGRES_PASSWORD=123456 \ --name postgresql \ postgres:alpine
之后操作容器一般使用<容器名>或<容器ID>。容器名可通过--name
在docker run
时指定,也可由系统自动分配;容器ID同镜像ID一样,最少仅需开头3、4位,能分辨即可。
容器的管理 - docker container
命令
docker container
的常用命令一般可以省略container,如docker container start
可以写为docker start
功能 | docker container 命令 | 别名 |
---|---|---|
查看容器 | docker container ps |
docker ps ,常加-a 查看所有容器还有个 docker ls 也可以 |
启动容器 | docker container start <容器名>/<容ID> |
docker start <容器名>/<容器ID> |
重启容器 | docker container restart <容器名>/<容ID> |
docker restart <容器名>/<容器ID> |
停止容器 | docker container stop <容器名>/<容ID> |
docker stop <容器名>/<容器ID> |
删除容器 | docker container rm <容器名>/<容ID> |
docker rm <容器名>/<容器ID> |
查看日志 | docker container logs <容器名>/<容ID> |
docker logs <容器名>/<容器ID> |
进入后台运行的容器
docker attach <容器名>/<容器ID>
或
docker exec <容器名>/<容器ID> 命令
-it <容器名>/<容器ID> bash
:进入容器并启动bash进行交互式操作
推荐exec,退出容器不会停止
Compose 管理
很多情况下我们项目会需要多个相互配合的容器;或者需要进行批量部署。这时继续通过上面的方法就有些费力,可以通过 Docker Compose(或者 Podman Compose)进行方便的管理。
有些创建的容器创建后想修改,但是上面通过 CLI 工具创建后是不能修改的,这时也可以通过这个完成。虽然修归后重新部署实际还是把容器删掉再建一个。
它使用一个 docker-compose.yml
文件作为配置文件。使用时只需在该文件所在目录执行 docker compose
相关之类就可进行容器(群)的建立、启动、停止等操作。
功能 | docker compose 命令 | 备注 |
---|---|---|
查看容器 | docker compose ps |
还有 docker compose ls |
建立容器 | docker compose up |
常加 -d ,后台运行 |
启动容器 | docker compose start |
|
重启容器 | docker compose restart |
|
停止容器 | docker compose stop |
|
删除容器 | docker compose down |
|
查看日志 | docker compose logs |