docker基础:容器生命周期管理命令

编程

容器是一种清理级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行。

blog:https://www.cnblogs.com/Rohn/

目录

  • 容器生命周期管理
    • 运行容器
    • 启停容器
    • 杀掉容器
    • 删除容器
    • 暂停或恢复容器中所有的进程
    • 创建一个新的容器但不启动它
    • 在容器中执行命令
    • 更新一个或多个容器的配置

容器生命周期管理

  • docker run:创建一个新的容器并运行一个命令;
  • docker start/stop/restart:启停容器;
  • docker kill:杀掉运行中的容器;
  • docker rm:删除一个或多个容器;
  • docker pause/unpause:暂停或恢复容器中的所有进程;
  • docker create:创建一个新的容器但不启动它;
  • docker exec:在运行的容器中执行命令;
  • docker update:更新一个或多个容器的配置;

运行容器

语法如下:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

Options:

--add-host list Add a custom host-to-IP mapping (host:ip) (default [])

-a, --attach list Attach to STDIN, STDOUT or STDERR (default [])

--blkio-weight uint16 Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0)

--blkio-weight-device weighted-device Block IO weight (relative device weight) (default [])

--cap-add list Add Linux capabilities (default [])

--cap-drop list Drop Linux capabilities (default [])

--cgroup-parent string Optional parent cgroup for the container

--cidfile string Write the container ID to the file

--cpu-count int CPU count (Windows only)

--cpu-percent int CPU percent (Windows only)

--cpu-period int Limit CPU CFS (Completely Fair Scheduler) period

--cpu-quota int Limit CPU CFS (Completely Fair Scheduler) quota

--cpu-rt-period int Limit CPU real-time period in microseconds

--cpu-rt-runtime int Limit CPU real-time runtime in microseconds

-c, --cpu-shares int CPU shares (relative weight)

--cpus decimal Number of CPUs (default 0.000)

--cpuset-cpus string CPUs in which to allow execution (0-3, 0,1)

--cpuset-mems string MEMs in which to allow execution (0-3, 0,1)

--credentialspec string Credential spec for managed service account (Windows only)

-d, --detach Run container in background and print container ID

--detach-keys string Override the key sequence for detaching a container

--device list Add a host device to the container (default [])

--device-read-bps throttled-device Limit read rate (bytes per second) from a device (default [])

--device-read-iops throttled-device Limit read rate (IO per second) from a device (default [])

--device-write-bps throttled-device Limit write rate (bytes per second) to a device (default [])

--device-write-iops throttled-device Limit write rate (IO per second) to a device (default [])

--disable-content-trust Skip image verification (default true)

--dns list Set custom DNS servers (default [])

--dns-option list Set DNS options (default [])

--dns-search list Set custom DNS search domains (default [])

--entrypoint string Overwrite the default ENTRYPOINT of the image

-e, --env list Set environment variables (default [])

--env-file list Read in a file of environment variables (default [])

--expose list Expose a port or a range of ports (default [])

--group-add list Add additional groups to join (default [])

--health-cmd string Command to run to check health

--health-interval duration Time between running the check (ns|us|ms|s|m|h) (default 0s)

--health-retries int Consecutive failures needed to report unhealthy

--health-timeout duration Maximum time to allow one check to run (ns|us|ms|s|m|h) (default 0s)

--help Print usage

-h, --hostname string Container host name

--init Run an init inside the container that forwards signals and reaps processes

--init-path string Path to the docker-init binary

-i, --interactive Keep STDIN open even if not attached

--io-maxbandwidth string Maximum IO bandwidth limit for the system drive (Windows only)

--io-maxiops uint Maximum IOps limit for the system drive (Windows only)

--ip string Container IPv4 address (e.g. 172.30.100.104)

--ip6 string Container IPv6 address (e.g. 2001:db8::33)

--ipc string IPC namespace to use

--isolation string Container isolation technology

--kernel-memory string Kernel memory limit

-l, --label list Set meta data on a container (default [])

--label-file list Read in a line delimited file of labels (default [])

--link list Add link to another container (default [])

--link-local-ip list Container IPv4/IPv6 link-local addresses (default [])

--log-driver string Logging driver for the container

--log-opt list Log driver options (default [])

--mac-address string Container MAC address (e.g. 92:d0:c6:0a:29:33)

-m, --memory string Memory limit

--memory-reservation string Memory soft limit

--memory-swap string Swap limit equal to memory plus swap: "-1" to enable unlimited swap

--memory-swappiness int Tune container memory swappiness (0 to 100) (default -1)

--name string Assign a name to the container

--network string Connect a container to a network (default "default")

--network-alias list Add network-scoped alias for the container (default [])

--no-healthcheck Disable any container-specified HEALTHCHECK

--oom-kill-disable Disable OOM Killer

--oom-score-adj int Tune host"s OOM preferences (-1000 to 1000)

--pid string PID namespace to use

--pids-limit int Tune container pids limit (set -1 for unlimited)

--privileged Give extended privileges to this container

-p, --publish list Publish a container"s port(s) to the host (default [])

-P, --publish-all Publish all exposed ports to random ports

--read-only Mount the container"s root filesystem as read only

--restart string Restart policy to apply when a container exits (default "no")

--rm Automatically remove the container when it exits

--runtime string Runtime to use for this container

--security-opt list Security Options (default [])

--shm-size string Size of /dev/shm, default value is 64MB

--sig-proxy Proxy received signals to the process (default true)

--stop-signal string Signal to stop a container, SIGTERM by default (default "SIGTERM")

--stop-timeout int Timeout (in seconds) to stop a container

--storage-opt list Storage driver options for the container (default [])

--sysctl map Sysctl options (default map[])

--tmpfs list Mount a tmpfs directory (default [])

-t, --tty Allocate a pseudo-TTY

--ulimit ulimit Ulimit options (default [])

-u, --user string Username or UID (format: <name|uid>[:<group|gid>])

--userns string User namespace to use

--uts string UTS namespace to use

-v, --volume list Bind mount a volume (default [])

--volume-driver string Optional volume driver for the container

--volumes-from list Mount volumes from the specified container(s) (default [])

-w, --workdir string Working directory inside the container

例子:

# 使用镜像nginx:latest,以后台模式启动一个容器,将容器的80端口映射到主机的80端口,主机的目录/data映射到容器的/data

docker run -p 80:80 -v /data:/data -d nginx:latest

启停容器

语法如下:

# 启动已经被停止的容器

docker start [OPTIONS] CONTAINER [CONTAINER...]

Options:

-a, --attach Attach STDOUT/STDERR and forward signals

--detach-keys string Override the key sequence for detaching a container

-i, --interactive Attach container"s STDIN

# 停止运行中的容器

docker stop [OPTIONS] CONTAINER [CONTAINER...]

Options:

-t, --time int Seconds to wait for stop before killing it (default 10)

# 重启容器

docker restart [OPTIONS] CONTAINER [CONTAINER...]

Options:

-t, --time int Seconds to wait for stop before killing the container (default 10)

杀掉容器

语法如下:

docker kill [OPTIONS] CONTAINER [CONTAINER...]

Options:

-s, --signal string Signal to send to the container (default "KILL")

删除容器

语法如下:

docker rm [OPTIONS] CONTAINER [CONTAINER...]

Options:

-f, --force Force the removal of a running container (uses SIGKILL)

-l, --link Remove the specified link

-v, --volumes Remove the volumes associated with the container

暂停或恢复容器中所有的进程

语法如下:

# 暂停容器中所有的进程

docker pause CONTAINER [CONTAINER...]

# 恢复容器中所有的进程

docker unpause CONTAINER [CONTAINER...]

创建一个新的容器但不启动它

语法同docker run

在容器中执行命令

语法如下:

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

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 (default [])

--help Print usage

-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>])

更新一个或多个容器的配置

语法如下:

docker update [OPTIONS] CONTAINER [CONTAINER...]

Options:

--blkio-weight uint16 Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0)

--cpu-period int Limit CPU CFS (Completely Fair Scheduler) period

--cpu-quota int Limit CPU CFS (Completely Fair Scheduler) quota

--cpu-rt-period int Limit the CPU real-time period in microseconds

--cpu-rt-runtime int Limit the CPU real-time runtime in microseconds

-c, --cpu-shares int CPU shares (relative weight)

--cpuset-cpus string CPUs in which to allow execution (0-3, 0,1)

--cpuset-mems string MEMs in which to allow execution (0-3, 0,1)

--help Print usage

--kernel-memory string Kernel memory limit

-m, --memory string Memory limit

--memory-reservation string Memory soft limit

--memory-swap string Swap limit equal to memory plus swap: "-1" to enable unlimited swap

--restart string Restart policy to apply when a container exits

原文链接:https://www.cnblogs.com/Rohn/archive/2020/07/12/13288941.html

以上是 docker基础:容器生命周期管理命令 的全部内容, 来源链接: utcz.com/z/518266.html

回到顶部