
l 列举本机镜像
docker images
docker image lsl 删除镜像
docker image rm 镜像名l 拉取镜像
docker pull 镜像名:[tag]
docker pull tomcat
docker pull mysql:5.5l tag镜像
docker tag 镜像名 新镜像名:[tag]l 推送镜像
docker push 本地镜像 远程镜像【注意】
同一个镜像tag多次,拥有多个tag,并不会占用多份存储空间;
多个镜像,如有公用的layer,公用的layer并不会占用多份存储空间;
存在无引用的tag问题,建议只有在不需要用到此镜像时,才删除此镜像,但不要删除tag标签。
l 列举本机容器
docker container ls
docker container ls -al 停止运行中的容器
docker container stop 容器名l 启动停止的容器
docker container start 容器名l 删除容器(如果运行中,需要停止)
docker container rm 容器名l 重启容器
docker container restart 容器名【注意】
容器停止,并不会自动删除,仍会占用存储空间。建议及时删除不需要的容器。
删除容器,并不会删除映射出来的文件,但会删除所有未映射出来的文件,即容器本身是无状态的。
运行某个镜像(生成一个新的容器)
docker run 参数 镜像 命令具体参数参考帮助,常用的有:
-d -it --name -p --rm --restart=always运行容器内的命令(进入容器内部)
docker exec -it [容器名] [容器内的命令]例如:
docker exec -it containername /bin/sh运行容器内的命令(运行完直接退出)
docker exec [容器名] [容器内的命令]例如:
docker exec containername ping www.baidu.***打印容器日志:
docker container logs [容器名]
docker --help
docker container --help将jar包、yml文件等拷贝至源目录;
当前定义的源目录为:
trunk/开发库/文档/60 转产/部署/dockerfile/imas/admin/
【禁止】
yml配置文件中禁止写死环境相关的IP,所有环境相关的IP需要使用域名;
即发布的yml配置文件,即使不做映射,也可以通过编排docker-compose.yml文件正常启动。
修改Dockerfile文件:
*#version行,填写对应的版本信息,版本保持与tag一致;
*#release date行,填写生成的日期;
*#change log行:仅alpha、beta版本要求,填写上一版到本版本所有修改的内容,来自于SVN;
*#build行:修改对应的版本信息;
*#tag行:修改对应的版本信息;
*#push行:修改对应的版本信息;
*LABEL行:如需要则做对应的修改;
其他内容:如需要则做对应的修改;
修改build.bat文件:
该文件可自行本地管理,排除在SVN文件之外。
主要修改tag文件、登录用户名。
本地目录运行 build.bat命令,全部正确运行后,生成完毕,且已经推送到阿里云。
虽然docker有机制可以自行更新镜像,但建议在调试非自己的镜像前,显示更新镜像。
集群文件存储在:
trunk/开发库/文档/60 转产/部署/dockerfile/imas/yml/docker-compose.yml
典型需要修改集群文件的场景如下:
需要修改运行的镜像,包括tag值,修改【image】值;
需要修改运行镜像的各参数,例如命令、映射目录、端口等;
需要修改运行镜像的数量;
【注意】
修改集群文件后,必须重新部署/更新服务,才会生效,使用【3.2.3 部署/更新服务】中的命令。
重新部署/更新服务后,所做的修改将自动应用。
$docker swarm init一般每台机器只需要操作一次。
$docker stack deploy -c docker-compose.yml ima-client如集群上有服务,且服务名相同,则更新服务;
如集群上无无法,或服务名不同,则新建服务;
目前规定的服务名为:
服务端:ima-server
客户端:ima-client
$docker stack rm ima-client$docker service ls结果如下

其中,关注NAME、REPLICAS、PORTS。
$docker service ps ima-server_ima-api
其中,关注DESIRED STATE,CURRENT STATE,ERROR。
$docker service logs -f --tail 100 ima-server_ima-api更新容器包括如下情况:
相同tag的镜像有更新,最典型的是latest标签,经常会有更新,需要pull后更新容器;
镜像无更新,但映射到镜像的文件有更新,例如jar包,application.yml;
可以直接stop对应的容器,集群检测到容器掉线后,会自动启动容器。
stop容器的方法为:
$docker container ls
$docker container stop [容器名]
$docker container rm [容器名]登录地址为:
http://signin.aliyun.com/******/login.htm用户名:分配的用户名@**
密码:单独分配。
初次登录时需要修改密码。
左侧导航栏选择《容器镜像服务》;
左上方《管理控制台》选择《华北2(北京)》;我们所有资料均存放在北京机房,选错机房将无法看到镜像。
容器镜像服务中,关注《镜像仓库》标签,其中包括了我们IMA所使用的三个镜像,后续如有新增,将会做对应的增加。
右上方《设置Registry登录密码》可以自行设置登录密码,设置以后,使用docker login命令后需要使用该密码。
关注每个容器的《管理》页面,其中将有登录Registry、更新、push等命令。

【禁止】
禁止删除、管理后修改已经登记的镜像(IMA*开头的镜像),只允许推送被允许Tag的版本。
【可以】
可以创建自己的镜像仓库,自己创建的镜像仓库可自行删除、修改。
在上述页面进入管理页面后,有详细命令。
1. 登录阿里云Docker Registry
$sudo docker login --username=[dailong]@****** registry******aliyuncs.***2. 从Registry中拉取镜像
$sudo docker pull registry******aliyuncs.***/newott/worker:[镜像版本号]3. 将镜像推送到Registry
$sudo docker login --username=[dailong]@****** registry******aliyuncs.***
$sudo docker tag [ImageId] registry******aliyuncs.***/newott/worker:[镜像版本号]
$sudo docker push registry******aliyuncs.***/newott/worker:[镜像版本号]【禁止】
禁止Tag Latest标签,该标签后续仅用来Tag“经过测试的、可发行的版本”;
【注意】
Tag标签遵循如下规则:
l test**;hy**;dl**;zcg**:由个人自行生成并临时性测试的tag,个人随意生成、管理、删除,系统不定期清理;镜像中Label标签信息将被忽略;
l alpha****:内部测试版本,部署在40、41环境上,由开发人员测试完毕后,提交SVN、版本修改说明,发布数据库升级脚本,获取版本号后生成。Alpha版本长期保留。Alpha版本每周一个。例如,1019日发布为alpha0.7;1026日发布为alpha0.8;1019~1025期间发布的小版本依次为alpha0.7.1等;镜像中Label标签信息需要填写maintainer="上传人" innerversion="版本号";其中,innerversion保持内部唯一;
l beta****:外部测试版本,正式发行前的试用版本,当前保留,后续部署在百度云上,和正式环境并列;镜像中Label标签信息需要按照规定填写maintainer="上传人" innerversion="版本号";beta版本一般是从alpha版本候选得到;
l 无前缀修饰:正式发行的版本,从beta版本候选得到;
docker ps // 查看所有正在运行容器
docker ps -a // 查看所有容器,包括未运行的容器
docker exec -it containerId bash //进入容器 退出 exit
docker ps -a -q // 查看所有容器ID
docker stop containerId // containerId 是容器的ID
docker stop $(docker ps -a -q) // stop停止所有容器
docker rm containerId //删除容器
docker rm $(docker ps -a -q) // 删除所有容器问题记录:
1:docker部署mongo时报错:Operation not permitted
chown: changing ownership of '/data/db/diagnostic.data/._metrics.2019-11-25T12-01-31Z-00000': Operation not permitted
chown: changing ownership of '/data/db/._collection-0--8819006777120270209.wt': Operation not permitted
chown: changing ownership of '/data/db/._collection-0-4823979033388143198.wt': Operation not permitted
chown: changing ownership of '/data/db/._collection-2--8819006777120270209.wt': Operation not permitted
chown: changing ownership of '/data/db/._collection-2-4823979033388143198.wt': Operation not permitted
chown: changing ownership of '/data/db/._collection-4--8819006777120270209.wt': Operation not permitted
chown: changing ownership of '/data/db/._collection-8--8819006777120270209.wt': Operation not permitted因为我使用的移动硬盘做的持久化,需要做如下操作
创建Volume虚拟磁盘:docker volume create --name <名称>
删除Volume虚拟磁盘:docker volume rm <名称>原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。