镜像相关命令
查看镜像列表
docker images
删除docker中的镜像
docker rmi 镜像id
运行镜像并进入交互模式(使用/bin/bash)
docker run -it <镜像ID 或者 仓库:标签> /bin/bash
前台运行镜像
前台命令必须能保持持续运行,否则容器会自动退出
例如前台命令为/tcpserver/server
,容器名称设置为tcpserver
docker run --name "tcpserver" <镜像ID 或者 仓库:标签> /tcpserver/server
后台运行镜像,同时挂载宿主文件夹和进行端口映射,设置容器自动重启
-d
参数:后台运行
-p
参数:端口映射
-v
参数: 挂载宿主文件夹,格式为宿主文件夹:容器文件夹
,容器文件夹原有内容会被宿主文件夹覆盖
--restart
参数:=always
表示始终自动重启。但是docker stop <容器ID/名称>
仍然可以停止容器
-c
参数:执行容器内命令而不进入容器
-rm
参数:容器退出时就能够自动清理容器内部的文件系统。–rm选项不能与-d同时使用(或者说同时使用没有意义),即只能自动清理foreground容器,不能自动清理detached容器。注意,–rm选项也会清理容器的匿名data volumes。所以,执行docker run命令带–rm命令选项,等价于在容器退出后,执行docker rm -v
docker run -d --name "tcpserver" -p 58631:58631 --restart=always -v /tcpserver/data:/tcpserver/data registry.cn-shanghai.aliyuncs.com/<命名空间>/<仓库>:<标签> /bin/bash -c "/tcpserver/server"
关联标记镜像到远程仓库
以阿里云上海容器仓库为例
docker tag <镜像ID> registry.cn-shanghai.aliyuncs.com/<命名空间>/<仓库>:<标签>
容器相关命令
查看容器列表
#查看当前正在运行的容器
docker ps
#查看当所有容器(包含已退出的容器)
docker ps -a
删除docker中的容器
docker rm 容器id
启动/停止/重启容器
docker start/stop/restart <容器ID/名称>
交互方式进入容器Bash Shell
docker exec -it <容器ID/名称> /bin/bash
容器改名
docker rename 原容器名 新容器名
从容器创建一个新的镜像
#docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
#实例 将容器a404c6c174a2 保存为新的镜像,并添加提交人信息和说明信息。
docker commit -a "SimonLiu" -m "my apache" a404c6c174a2 mymysql:v1
执行容器内命令而不进入容器
以/tcpserver/server
为例
docker exec -it <容器ID/名称> /tcpserver/server
已启动的容器增加自动重启参数
docker update --restart=always <容器ID/名称>
查看容器标准输出
docker logs <容器ID/名称>
持续查看容器标准输出
docker logs -f <容器ID/名称>
从容器标准输出最后10行开始持续查看
docker logs -f --tail=10 <容器ID/名称>
提交容器
下述仓库可以是本地仓库,比如tcpserver
,也可以是远程仓库地址,比如registry.cn-shanghai.aliyuncs.com/<命名空间>/<仓库>
docker commit <容器ID/名称> <仓库:标签>
查看容器内运行的进程
docker top <容器ID/名称>
查看容器信息
docker inpsect <容器ID/名称>
复制宿主机文件到容器
(stop状态的容器也可操作)
docker cp /host/file <容器ID/名称>:/container/folder
复制容器文件到宿主机
(stop状态的容器也可操作)
docker cp <容器ID/名称>:/container/folder/file /host/folder
容器Registry的推送与拉取
以阿里云上海容器Registry为例
登陆Registry
docker login registry.cn-shanghai.aliyuncs.com
注意:阿里云的容器Registry访问密码叫做“凭证密码”,凭证密码需要单独设置,需要帐号登录 http://signin.aliyun.com 之后,访问 https://cr.console.aliyun.com/cn-shanghai/instances/credentials 来设置凭证密码。
拉取镜像
docker pull registry.cn-shanghai.aliyuncs.com/<命名空间>/<仓库>:<标签>
推送镜像
docker push registry.cn-shanghai.aliyuncs.com/<命名空间>/<仓库>:<标签>