CentOS系统DOCKER镜像打包和上传到阿里仓库相关的常用命令

ZHUWEI
2019-04-26 16:09:07
19 赞(0) 踩(0)

CentOS系统DOCKER镜像打包和上传到阿里仓库相关的常用命令,太折腾了人,阿里文档还是比较坑的

#使用putty的pscp命令复制文件到虚拟机CentOS系统中
pscp D:\Test\CitekYun.war root@192.168.10.150:/home/
#创建Tomcat容器并映射端口
docker run -it --name tm-citek-yun -p 80:8080 -p 8808:8808 -p 9808:9808 tomcat /bin/bash
#以交互的形式启动,进入tomcat容器 看一下文件目录 --- 找到 webapps 目录
docker exec -it tm-citek-yun /bin/bash
#以交互的形式启动,进入tomcat容器 看一下文件目录 --- 找到 webapps 目录
docker exec -it tm-citek-yun /bin/bash

#将准备好的 web 应用拷贝到 docker my-tomcat 容器, 这里拷贝进去之后会自动部署, 直接就可以访问
docker cp CitekYun.war tm-citek-yun:/usr/local/tomcat/webapps
#进入tomcat的bin目录启动tomcat
./catalina.sh run
#退出容器
Ctrl+P+Q
#打包镜像

/********************************/
退出容器并停止运行:exit
退出容器并保持运行:Ctrl+P+Q
查看容器:docker ps -a
查看运行的容器:docker ps
重启容器:docker restart 容器ID或名称
重启容器后进入交互式:docker start -i 容器ID或名称
进入容器:docker attach 容器ID或名称
               docker exec -it 容器ID或名称 /bin/bash 
通过docker创建守护运行(在使用-d参数时)的容器时,容器启动后会进入后台。用户无法看到容器中的信息。某些时候如果需要进入容器进行操作,有多种方法,包括使用docker attach命令、docker exec命令,以及nsenter工具等。
attach命令
docker attach 容器名称/ID
在使用attach命令有时候并不方便。当多个窗口同时attach到同一个容器的时候,所有窗口都会同步显示。当某个窗口因命令阻塞时,其他窗口也无法执行操作了。
exec命令
docker exec -ti 容器ID /bin/bash
停止容器:docker stop 容器ID或名称
删除容器:docker rm 容器ID或名称

在使用docker容器时,有可能没有安装Vi, 安装Vi:apt-get install vim,如果提示:Unable to locate package vim,则需要敲:apt-get update, 等更新完毕以后再敲命令: apt-get install vim
/******************************************************/
#构建docker images镜像:注意后面有个操蛋的点 "."
docker build -t repos_local/tm-citek-yun .

1.停止所有的container,这样才能够删除其中的images:

docker stop $(docker ps -a -q)

如果想要删除所有container的话再加一个指令:

docker rm $(docker ps -a -q)

2.查看当前有些什么images

docker images

3.删除images,通过image的id来指定删除谁

docker rmi <image id>

想要删除untagged images,也就是那些id为<None>的image的话可以用

docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

要删除全部image的话

docker rmi $(docker images -q)


#run images to be container: --restart=always : 开机启动的意思 -d: 后台运行 -p:主机和docker容器端口映射:使用DockerFile后这个没卵用了
docker run -d  -p 80:8080 --name tm-citek-yun repos_local/tm-citek-yun --restart=always

#解压缩工具安装
yum install -y unzip zip
#解压.war .zip文件到指定目录:
unzip web.war -d webapps/ROOT/
CP命令
#强制覆盖同名文件-f
#按递归方式保留原目录结构复制文件-r 
cp -r /tmp/a /root/a

/***打包docker上传一条龙****/
1,docker build -t tm-citek-yun --tag 2.1.0 .
2,  sudo docker login --username=xxx registry.cn.shanghai.aliyuncs.com
3,  sudo docker tag xxxx registry.cn-shanghai.aliyuncs.com/iot-1481951079827313-5tkmxju3/citek_yun:2.1.0
4,  sudo docker push registry.cn-shanghai.aliyuncs.com/iot-1481951079827313-5tkmxju3/citek_yun:2.1.0

↑TOP