docker常见命令

1、安装docker

yum install docker

2、检查docker版本号

docker version

3、启动docker

service docker start

4、检查可用镜像

docker search tensorflow

5、下载镜像

docker pull docker.io/jupyter/tensorflow-notebook

6、创建一个新的容器

Run a command in a new container

Usage

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

Options

Name, shorthandDefaultDescription
--add-hostAdd a custom host-to-IP mapping (host:ip)
--attach , -aAttach to STDIN, STDOUT or STDERR
--blkio-weightBlock IO (relative weight), between 10 and 1000, or 0 to disable (default 0)
--blkio-weight-deviceBlock IO weight (relative device weight)
--cap-addAdd Linux capabilities
--cap-dropDrop Linux capabilities
--cgroup-parentOptional parent cgroup for the container
--cidfileWrite the container ID to the file
--cpu-countCPU count (Windows only)
--cpu-percentCPU percent (Windows only)
--cpu-periodLimit CPU CFS (Completely Fair Scheduler) period
--cpu-quotaLimit CPU CFS (Completely Fair Scheduler) quota
--cpu-rt-periodAPI 1.25+
Limit CPU real-time period in microseconds
--cpu-rt-runtimeAPI 1.25+
Limit CPU real-time runtime in microseconds
--cpu-shares , -cCPU shares (relative weight)
--cpusAPI 1.25+
Number of CPUs
--cpuset-cpusCPUs in which to allow execution (0-3, 0,1)
--cpuset-memsMEMs in which to allow execution (0-3, 0,1)
--detach , -dRun container in background and print container ID
--detach-keysOverride the key sequence for detaching a container
--deviceAdd a host device to the container
--device-cgroup-ruleAdd a rule to the cgroup allowed devices list
--device-read-bpsLimit read rate (bytes per second) from a device
--device-read-iopsLimit read rate (IO per second) from a device
--device-write-bpsLimit write rate (bytes per second) to a device
--device-write-iopsLimit write rate (IO per second) to a device
--disable-content-trusttrueSkip image verification
--dnsSet custom DNS servers
--dns-optSet DNS options
--dns-optionSet DNS options
--dns-searchSet custom DNS search domains
--entrypointOverwrite the default ENTRYPOINT of the image
--env , -eSet environment variables
--env-fileRead in a file of environment variables
--exposeExpose a port or a range of ports
--group-addAdd additional groups to join
--health-cmdCommand to run to check health
--health-intervalTime between running the check (ms|s|m|h) (default 0s)
--health-retriesConsecutive failures needed to report unhealthy
--health-start-periodAPI 1.29+
Start period for the container to initialize before starting health-retries countdown (ms|s|m|h) (default 0s)
--health-timeoutMaximum time to allow one check to run (ms|s|m|h) (default 0s)
--helpPrint usage
--hostname , -hContainer host name
--initAPI 1.25+
Run an init inside the container that forwards signals and reaps processes
--interactive , -iKeep STDIN open even if not attached
--io-maxbandwidthMaximum IO bandwidth limit for the system drive (Windows only)
--io-maxiopsMaximum IOps limit for the system drive (Windows only)
--ipIPv4 address (e.g., 172.30.100.104)
--ip6IPv6 address (e.g., 2001:db8::33)
--ipcIPC mode to use
--isolationContainer isolation technology
--kernel-memoryKernel memory limit
--label , -lSet meta data on a container
--label-fileRead in a line delimited file of labels
--linkAdd link to another container
--link-local-ipContainer IPv4/IPv6 link-local addresses
--log-driverLogging driver for the container
--log-optLog driver options
--mac-addressContainer MAC address (e.g., 92:d0:c6:0a:29:33)
--memory , -mMemory limit
--memory-reservationMemory soft limit
--memory-swapSwap limit equal to memory plus swap: ‘-1’ to enable unlimited swap
--memory-swappiness-1Tune container memory swappiness (0 to 100)
--mountAttach a filesystem mount to the container
--nameAssign a name to the container
--netConnect a container to a network
--net-aliasAdd network-scoped alias for the container
--networkConnect a container to a network
--network-aliasAdd network-scoped alias for the container
--no-healthcheckDisable any container-specified HEALTHCHECK
--oom-kill-disableDisable OOM Killer
--oom-score-adjTune host’s OOM preferences (-1000 to 1000)
--pidPID namespace to use
--pids-limitTune container pids limit (set -1 for unlimited)
--platformexperimental (daemon)API 1.32+
Set platform if server is multi-platform capable
--privilegedGive extended privileges to this container
--publish , -pPublish a container’s port(s) to the host
--publish-all , -PPublish all exposed ports to random ports
--read-onlyMount the container’s root filesystem as read only
--restartnoRestart policy to apply when a container exits
--rmAutomatically remove the container when it exits
--runtimeRuntime to use for this container
--security-optSecurity Options
--shm-sizeSize of /dev/shm
--sig-proxytrueProxy received signals to the process
--stop-signalSIGTERMSignal to stop a container
--stop-timeoutAPI 1.25+
Timeout (in seconds) to stop a container
--storage-optStorage driver options for the container
--sysctlSysctl options
--tmpfsMount a tmpfs directory
--tty , -tAllocate a pseudo-TTY
--ulimitUlimit options
--user , -uUsername or UID (format: <name|uid>[:<group|gid>])
--usernsUser namespace to use
--utsUTS namespace to use
--volume , -vBind mount a volume
--volume-driverOptional volume driver for the container
--volumes-fromMount volumes from the specified container(s)
--workdir , -wWorking directory inside the container

Mount volume (-v, --read-only)

$ docker  run  -v `pwd`:`pwd` -w `pwd` -i -t  ubuntu pwd

The -v flag mounts the current working directory into the container. The -w lets the command being executed inside the current working directory, by changing into the directory to the value returned by pwd. So this combination executes the command using the container, but inside the current working directory.

$ docker run -v /doesnt/exist:/foo -w /foo -i -t ubuntu bash

When the host directory of a bind-mounted volume doesn’t exist, Docker will automatically create this directory on the host for you. In the example above, Docker will create the /doesnt/exist folder before starting your container.

$ docker run --read-only -v /icanwrite busybox touch /icanwrite/here

Volumes can be used in combination with --read-only to control where a container writes files. The --read-only flag mounts the container’s root filesystem as read only prohibiting writes to locations other than the specified volumes for the container.

$ docker run -t -i -v /var/run/docker.sock:/var/run/docker.sock -v /path/to/static-docker-binary:/usr/bin/docker busybox sh

By bind-mounting the docker unix socket and statically linked docker binary (refer to get the linux binary), you give the container the full access to create and manipulate the host’s Docker daemon.

实例

docker run --name my_machine_learning_env -d -p 8889:8888 -v /home/xuerui/machine_learning:/test/data tensorflow/tensorflow:latest-py3

参数详见docker-cmd-param

挂在windows下的目录

docker run --name kibana -p 5601:5601 -v D:\\DMCC\\data\\kibana\\kibana.yml:/usr/share/kibana/config/kibana.yml -d kibana:7.4.2

7、Docker start/stop/restart 命令

语法

docker start [OPTIONS] CONTAINER [CONTAINER...][OPTIONS] CONTAINER [CONTAINER...]
docker stop [OPTIONS] CONTAINER [CONTAINER...][OPTIONS] CONTAINER [CONTAINER...]
docker restart [OPTIONS] CONTAINER [CONTAINER...][OPTIONS] CONTAINER [CONTAINER...]

实例

启动已被停止的容器my_machine_learning_env

docker start my_machine_learning_env

docker stop my_machine_learning_env

docker restart my_machine_learning_env

8、获取容器日志

docker logs my_machine_learning_env

语法

docker logs [OPTIONS] CONTAINER[OPTIONS] CONTAINER

OPTIONS说明:

  • -f : 跟踪日志输出

  • --since :显示某个开始时间的所有日志

  • -t : 显示时间戳

  • --tail :仅列出最新N条容器日志

9、删除一个或多少容器

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

10、Docker exec 命令

docker exec :在运行的容器中执行命令

语法

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

OPTIONS说明:

  • -d :分离模式: 在后台运行

  • -i :即使没有附加也保持STDIN 打开

  • -t :分配一个伪终端

实例

在容器mynginx中以交互模式执行容器内/root/runoob.sh脚本

runoob@runoob:~$ docker exec -it mynginx /bin/sh /root/runoob.sh

在容器mynginx中开启一个交互模式的终端

runoob@runoob:~$ docker exec -i -t  mynginx /bin/bash

11、docker镜像恢复

docker import

从归档文件中创建镜像

docker import [OPTIONS] file|URL|-  [REPOSITORY[:TAG]]

OPTIONS说明:

  • -c :应用docker 指令创建镜像;

  • -m :提交时的说明文字;

实例

从镜像归档文件my_ubuntu_v3.tar创建镜像,命名为runoob/ubuntu:v4

docker import  my_ubuntu_v3.tar runoob/ubuntu:v4  

12、docker镜像导入load

docker load [OPTIONS] 

Load an image from a tar archive on STDIN

  -i,--input=""Readfrom a tar archive file, instead of STDIN

实例

将id为a404c6c174a2的容器按日期保存为tar文件。

docker load --input tf-20180724.tar

13、docker 镜像导出save

将指定镜像保存成 tar 归档文件。

docker save [OPTIONS] IMAGE [IMAGE...]

OPTIONS说明:

  • -o :输出到的文件。

实例

将镜像runoob/ubuntu:v3 生成my_ubuntu_v3.tar文档

docker save -o my_ubuntu_v3.tar runoob/ubuntu:v3

14、docker容器导出export

docker export [OPTIONS] CONTAINER

OPTIONS说明:

 -o:将输入内容写到文件

实例

将id为a404c6c174a2的容器按日期保存为tar文件。

docker export -o mysql-`date +%Y%m%d`.tar a404c6c174a2

参考:Docker命令大全

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值