Docker 是一个开源的应用容器引擎,它简化了应用部署,使得应用及其依赖项可以打包到一个轻量级、可移植的容器中。我整理了Docker 的常用命令,帮助大家快速上手 Docker。
确保 Docker 服务已经启动是使用 Docker 的第一步。
shell systemctl start docker
shell systemctl stop docker
shell systemctl restart docker
shell systemctl status docker
shell systemctl enable docker
镜像是 [Docker 容器]的基础。
textdocker search [OPTIONS] 镜像名字
mysql
的镜像。 shell docker search mysql
nginx
镜像。 shell docker pull nginx
textdocker save -o 镜像文件名.tar 镜像名字:标签
my_image:latest
镜像保存到 my_image.tar
文件。 shell docker save -o my_image.tar my_image:latest
容器是 Docker 的核心运行单元。
textdocker run [OPTIONS] IMAGE [COMMAND] [ARG...]
ubuntu
镜像的容器,并执行 bash
命令。 shell docker run -it ubuntu bash
exec
退出textdocker exec -it 容器ID bash
attach
退出Ctrl+P
然后 Ctrl+Q
可以安全地退出容器。textdocker rm -f $(docker ps -q)
textdocker exec -it 容器ID bash
textdocker cp /path/on/host 容器ID:/path/in/container
/etc/hosts
文件复制到名为 my_container
的容器内的 /etc
目录。 shell docker cp /etc/hosts my_container:/etc/hosts
textdocker cp 容器ID:/path/in/container /path/on/host
my_container
的容器内的 /tmp
目录下的文件复制到主机的 /home/user
目录。 shell docker cp my_container:/tmp /home/user
网络命令用于管理 [Docker 网络]。
textdocker network create --driver bridge 网络名称
my_custom_network
的新桥接网络。 shell docker network create --driver bridge my_custom_network
textdocker network connect 网络名称 容器ID或名称
存储卷命令用于管理 [Docker 存储卷]。
textdocker run -v 卷名称:/容器内路径 -d 镜像名称
my_volume
挂载到容器内的 /app
路径。 shell docker run -v my_volume:/app -d my_image
构建命令用于创建新的 Docker 镜像。
textdocker build -t 镜像名称:标签 .
Dockerfile
构建一个名为 my_image
,标签为 latest
的镜像。 shell docker build -t my_image:latest .
my_image:latest
推送到 Docker Hub 上的 my_username
账户。 shell docker push my_username/my_image:latest
配置命令用于查看和管理 Docker 守护进程的配置。
textdocker run -e 环境变量名=值 镜像名称
DATABASE_URL
的环境变量。 shell docker run -e DATABASE_URL=my_database_url my_image