博客搭建过程中,使用了docker container。记录下常用命令。
环境
- Ubuntu 20.04
- bash
- docker
查找 iamge
docker search [iamge-name]
1
2
3
4
5
|
~$ docker search nginx
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
nginx Official build of Nginx. 13505 [OK]
jwilder/nginx-proxy Automated Nginx reverse proxy for docker con… 1841 [OK]
.....
|
拉取 image
docker pull [image-name]
列出所有的 image
docker images
移除 image
docker rmi [image-name]
启动 docker
docker run --volumn=[挂载本地路径:docker内部的路径]
--env=[key=value] \ #环境变量
--restart=always \ #container重启策略
--name=[container的名字] \
--detach=true \ #运行在后台
--publish=[主机上的端口:container的内部端口] \
[image-name]
查看 container 状态
列出所有运行中的container
docker ps
1
2
3
4
|
~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a7b3ff4a2148 drone/drone-runner-docker:1 "/bin/drone-runner-d…" 6 days ago Up 6 days 0.0.0.0:3000->3000/tcp runner
93f0eb5a7619 drone/drone:1 "/bin/drone-server" 6 days ago Up 6 days 80/tcp, 0.0.0.0:8443->443/tcp drone
|
列出所有container的状态
docker ps -a
根据名字列出某个container
docker ps -a -f name=[name]
1
2
3
|
~$ docker ps -a -f name=lamboyant_torvalds
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1c08a60c803d nginx "/docker-entrypoint.…" 24 minutes ago Exited (0) 22 minutes ago flamboyant_torvalds
|
根据自己选择的列输出
docker ps -a --format [option]
1
2
3
4
|
~$ docker ps -a --format "{{.ID}} @@ {{.Image}} @@ {{.Names}} =>{{.Status}}"
1c08a60c803d @@ nginx @@ flamboyant_torvalds =>Exited (0) 33 minutes ago
a7b3ff4a2148 @@ drone/drone-runner-docker:1 @@ runner =>Up 6 days
93f0eb5a7619 @@ drone/drone:1 @@ drone =>Up 6 days
|
查看 logs
docker logs [container名字|ID]
登陆运行中的 container
docker exec -it drone sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
~$ docker exec --help
Usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
Run a command in a running container
Options:
-d, --detach Detached mode: run command in the background
--detach-keys string Override the key sequence for detaching a container
-e, --env list Set environment variables
-i, --interactive Keep STDIN open even if not attached
--privileged Give extended privileges to the command
-t, --tty Allocate a pseudo-TTY
-u, --user string Username or UID (format: <name|uid>[:<group|gid>])
-w, --workdir string Working directory inside the container
|
移除 container
docker rm [container id]
停止 container
docker stop [container id|name]
批量操作
批量移除(强制删除)container
docker rm -f $(docker ps --format {{.ID}})
批量移除(强制删除)images
docker rmi -f $(docker images --format {{.ID}})
Reference
Dokcer官网