docker常用命令及用法
常用参数
--name: 设置容器名称
--volume: (简写 -v) 设置挂载的目录
--workdir: (简写 -w) 指定容器工作目录
--publish: (简写 -p) 映射端口
--env: (简写 -e) 设置容器环境变量
--hostname: (简写 -h) 设置容器内hostname
--tty: (简写 -t) 分配一个伪终端
--interactive: (简写 -i) 保持容器内的标准输入 (STDIN) 进行交互
命令帮助
☁ ~ docker --help
Usage: docker [OPTIONS] COMMAND
A self-sufficient runtime for containers
Common Commands:
run Create and run a new container from an image
exec Execute a command in a running container
ps List containers
build Build an image from a Dockerfile
pull Download an image from a registry
push Upload an image to a registry
images List images
login Log in to a registry
logout Log out from a registry
search Search Docker Hub for images
version Show the Docker version information
info Display system-wide information
子命令帮助
☁ ~ docker run --help
Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Create and run a new container from an image
Aliases:
docker container run, docker run
Options:
--add-host list Add a custom host-to-IP mapping (host:ip)
--annotation map Add an annotation to the container (passed through to the OCI runtime) (default map[])
-a, --attach list Attach to STDIN, STDOUT or STDERR
--blkio-weight uint16 Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0)
--blkio-weight-device list Block IO weight (relative device weight) (default [])
--cap-add list Add Linux capabilities
--cap-drop list Drop Linux capabilities
--cgroup-parent string Optional parent cgroup for the container
--cgroupns string Cgroup namespace to use (host|private)
......
nginx容器示例
echo "111" > /data/nginx/index.html
docker run --name nginx -v /data/nginx/:/usr/share/nginx/html -p 8001:80 -d nginx
--name: 设置容器名称为nginx
-v :将宿主机目录/data/nginx与容器目录/usr/share/nginx/html映射
-p :将容器内80端口映射到宿主机8001端口上
-d : 后台运行
nginx : 使用nginx:latest最新镜像版本,tag为latest,在创建时可省略
☁ ~ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
956d0e3e5f3e nginx "/docker-entrypoint.…" 2 seconds ago Up 1 second 0.0.0.0:8888->80/tcp, :::8888->80/tcp nginx
此时在浏览器或者终端curl访问:
http://宿主机IP:8888 即可看到111的返回内容
常见用法
1.修改正在运行的容器名称
docker rename [容器ID] [新的容器名称]
2.更新容器参数
docker update --restart=always [容器ID]
3.复制宿主机文件(夹)到容器内
# docker cp file [容器名称或容器ID]:[容器内目录]
# docker cp -r folder [容器名称或容器ID]:[容器内目录]
# 复制test文件到nginx容器内的/tmp目录
docker cp test nginx:/tmp
4.复制容器内文件(夹)到宿主机
# docker cp [容器名称或容器ID]:[容器内目录文件] [宿主机目录]
# docker cp -r [容器名称或容器ID]:[容器内目录] [宿主机目录]
docker cp nginx:/tmp/test /data/nginx/
5.镜像的导入导出
# docker save -o [镜像名称].tar 镜像名称:tag
# 导出到宿主机/data/目录
docker save -o /data/nginx.tar nginx:latest
# docker load -i [镜像名称].tar
# 导入镜像
docker load -i nginx.tar
6.打包容器成镜像
# docker commmit [容器ID] [镜像名称]:[tag]
# 打包以后可在镜像列表中查看 docker images
docker commit 956d0e3e5f3e mynginx:v1
7.查看日志
# 查看容器滚动日志 ,可配合grep筛选日志
docker logs -f [容器名称]
8.执行容器内部命令
☁ ~ docker exec -it nginx bash -c "echo 111"
111
9.[定时任务场景] 容器执行一次就删除
docker run --rm -v /etc/hosts:/etc/hosts \
-v /data/www/test/:/app/test \
-w /app/test alpine-python-3.8.10 \
python scripts/test.py
命令详解:
-v /etc/hosts:/etc/hosts # 映射宿主机host到容器内
-v /data/www/test/:/app/test # 代码目录映射
-w /app/test # 指定容器内工作目录
python scripts/test.py # 使用容器内python解释器执行脚本
alpine-python-3.8.10 # 容器使用的镜像
--rm # 在命令执行完以后就删除容器所有信息
原文地址:https://blog.csdn.net/qq_39965424/article/details/142984805
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!