使用

运行容器

启动参数 启动脚本 例3

查看运行容器

例1

删除容器

例2

更新容器

例5

修改时区

例10

重启容器

例6

执行命令

例7

进入容器

例8

查看启动参数

例9

启动参数

选项简写

选项

说明

-d

–detach

在后台运行容器,并且打印容器id。

-i

–interactive

即使没有连接,也要保持标准输入保持打开状态,一般与 -t 连用。

-t

–tty

分配一个伪tty,一般与 -i 连用。

–restart

指定容器停止后的重启策略

--restart=always 把Docker容器设置为开机自动启动

–name

指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字

-e

–env=[]

指定环境变量,容器中可以使用该环境变量

-e LC_ALL=C.utf8 指定系统编码

-p

指定端口映射,格式为:主机(宿主)端口:容器端口

-v

–volume=[]

把数据文件挂载到宿主机的路径

-l

–label list

在容器上设置元数据

-m

–memory

指定容器的内存上限,例如 100M, 2G。

–memory-swap

设置 内存+swap 的使用限额

-c

–cpu-shares=0

设置容器CPU权重,在CPU共享场景使用

-h

–hostname=“”

指定容器的主机名

–net

容器网络设置

–privileged=false

指定容器是否为特权容器,特权容器拥有所有的capabilities

–rm

容器停止后自动删除容器

-P

随机端口映射,容器内部端口随机映射到主机的端口

–link=[]

指定容器间的关联,使用其他容器的IP、env等信息

  • 使用镜像创建一个容器,该镜像必须与 Docker 宿主机系统架构一致,例如x86_64 架构的系统中只能使用x86_64的镜像创建容器。

启动脚本

bash的docker启动脚本

#!/bin/bash

container="dbtool"
image="registry.cn-hangzhou.aliyuncs.com/xxx/beta:dbtool"

echo "停止容器 $container..."
docker container stop $(docker container ls -q --filter name=^$container$)

echo "删除容器 $container..."
docker rm $container

echo "删除镜像 $image..."
docker rmi $image

echo "拉取镜像 $image..."
docker pull $image
docker run -itd --name $container  -p 44360:80 --restart=always $image

例1

查看运行容器

docker ps

运行结果

docker inspect 怎么使用telnet docker inspect 详解_启动脚本

  • –format参数可以实现格式化输出自定义列
docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Ports}}\t{{.Status}}"

例2

指定id或名称删除

docker rm <CONTAINER ID|NAME> <CONTAINER ID|NAME>

删除所有容器

docker rm -f $(docker ps -aq)

例3

启动tomcat

docker run -it -p 8888:8080 tomcat

例4

复制文件到容器

docker ps -a
docker inspect -f '{{.ID}}' store-dev
docker cp 文件全路径 容器长ID:文件全路径

例5

设置容器为开机自启

docker update --restart=always 容器名

例6

docker restart admin-mongo

例7

有后台的centos容器在运行,在不进入centos情况下执行centos的命令

docker exec -t 5bb87e918b0e ls -l /etc

例8

docker exec -it 容器ID /bin/bash

docker inspect 怎么使用telnet docker inspect 详解_Docker_02

例9

查看运行容器的docker run启动参数

yum install -y python-pip
pip install runlike
runlike -p <容器名>|<容器ID>

例10

有时需要查看容器中的日志,但是日志的时间和宿主机不在同一个时区,查看不方便,需要修改时区

容器启动参数中添加环境变量

-e TZ=Asia/Shanghai

将宿主机上的/etc/timezone/etc/localtime挂载到容器中,这样可以保持容器和宿主机时区和时间一致