由 CyanHall.com
创建于 2020-11-13,
上次更新:2021-04-30。
👉 如果有用请点赞。
👉 如果有用请点赞。
1. 列出 docker 镜像
docker images
3. 移除所有 all <none> 镜像
docker rmi $(docker images -f "dangling=true" -q)
5. 移除某个容器
docker rm [CONTAINER ID]
7. 查看容器 IP
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' [CONTAINER ID]
9. 在容器内执行命令
docker exec [CONTAINER ID or CONTAINER NAME] [Shell Command]
11. 构建 Docker 镜像
FROM alpine:latest as certs
RUN apk update && apk upgrade && apk add --no-cache ca-certificates
RUN update-ca-certificates
FROM scratch
# fix x509: certificate signed by unknown authority
COPY --from=certs /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
WORKDIR $GOPATH/src/github.com/Cyanhall/Cyanhall
COPY . $GOPATH/src/github.com/Cyanhall/Cyanhall
EXPOSE 8080
ENTRYPOINT ["./Cyanhall"]
13. 运行 数据库
# --name: Name of the container
# -e: Environment variables
# -d: Run in background
# -v: Bind mount a volume
# -p: Publish a container's port(s) to the host
# Postgres environment variables:
# POSTGRES_PASSWORD,
# POSTGRES_USER,
# read more: https://hub.docker.com/_/postgres
docker run -d --name cyanhall-postgres -v /my/own/datadir:/var/lib/postgresql/data -p 5432:5432 -e POSTGRES_PASSWORD=[password] -e POSTGRES_USER=root postgres
15. 容器环境
# Inside cyanhall-app container
# env | grep CYANHALL_DB
CYANHALL_DB_ENV_PG_MAJOR=12
CYANHALL_DB_ENV_PGDATA=/var/lib/postgresql/data
CYANHALL_DB_ENV_POSTGRES_USER=root
CYANHALL_DB_PORT_5432_TCP_ADDR=172.17.0.2
CYANHALL_DB_ENV_POSTGRES_PASSWORD=password
CYANHALL_DB_PORT_5432_TCP_PORT=5432
CYANHALL_DB_PORT=tcp://172.17.0.2:5432
CYANHALL_DB_PORT_5432_TCP=tcp://172.17.0.2:5432
CYANHALL_DB_ENV_LANG=en_US.utf8
CYANHALL_DB_PORT_5432_TCP_PROTO=tcp
CYANHALL_DB_ENV_GOSU_VERSION=1.12
CYANHALL_DB_NAME=/cyanhall-postgres/cyanhall-db
CYANHALL_DB_ENV_PG_VERSION=12.3-1.pgdg100+1
2. 移除 docker 镜像
docker rmi [IMAGE ID / REPOSITORY]
4. 列出所有容器
docker ps -a
6. 查看容器信息
docker inspect [CONTAINER ID]
8. 登录进去容器
docker exec -it [CONTAINER ID or CONTAINER NAME] bash
10. 从容器内部复制文件到主机
docker cp [CONTAINER ID]:/file/path/within/container /host/path/target
12. 在当前目录根据源代码构建
# -t: Repository name (and optionally a tag) for the image
docker build -t [IMAGE NAME] .
14. 运行 应用
docker run -d -p 8080:8080 --name cyanhall-app --link=cyanhall-postgres:cyanhall-db [IMAGE NAME]
更多