admin 发布的文章

容器端口映射,还是有点复杂的。
1,要么在一开始就设置好,
2,要么把这个容器停止,打包成新容器,用新的容器名运行的时候重新设置端口映射,

docker stop container-name
docker commit container-name new-image-name
docker run -it -d --name container-name -p p1:p1 -p p2:p2 new-image-name

3,要么就用下面这个方法。

先查看容器状况

docker ps 

把容器名字(CONTAINER NAMES)记下来。
比如说:kele

先停止现有容器

docker stop kele
service docker stop

# 停止 docker 服务
sudo systemctl stop docker.socket
sudo systemctl stop docker.service

# 启动 docker 服务
sudo systemctl daemon-reload
sudo systemctl restart docker.service

根据名字查询ID

为什么要这么做,docker ps看不到么。是的,看不全。这ID很长的。

docker inspect kele | grep Id
 "Id": "7ce41cc8d56559939391f1ddd90408fe936fb37de776ab9ddb6358f0a3c36f36",

修改配置文件

cd /var/lib/docker/containers/{Id}/
比如
cd /var/lib/docker/containers/7ce41cc8d56559939391f1ddd90408fe936fb37de776ab9ddb6358f0a3c36f36/

修改config.v2.json和hostconfig.json
照葫芦画瓢就行了,在原有的端口后面追加即可。

重新启动docker和容器

service start docker
docker start kele

来源:https://jasonkayzk.github.io/2020/01/16/%E4%BD%BF%E7%94%A8Docker%E5%AE%B9%E5%99%A8%E6%97%B6%E6%B7%BB%E5%8A%A0%E5%AF%B9%E5%A4%96%E6%98%A0%E5%B0%84%E7%AB%AF%E5%8F%A3%E7%9A%84%E6%96%B9%E6%B3%95%E6%80%BB%E7%BB%93/
https://www.huaweicloud.com/articles/2f77258d9743af7269285e1bf10ef58e.html

yum -y install zlib zlib-devel gcc-c++ bzip2 bzip2-devel libpng libpng-devel harfbuzz libxml2 libxml2-devel libjpeg-devel libicu-devel libxslt-devel* freetype-devel

不完全统计。。。
oracle的镜像真是精简。

F12 -> Console

document.body.innerHTML = "";$("html").css("overflow","hidden");$("body").append('<div id="topTitle" style="padding:20px;display:block;font-size:48px;color:#FFFFFF;background-color:#e2231a;width:100%;text-align:center">京东自动评价JS脚本 by Clarkent V0.3</div><iframe src="https://club.jd.com/myJdcomments/myJdcomment.action?sort=0" style="width:99%;height:800px" id="JDifr"></iframe>');$("#J-global-toolbar").remove();let isFiveStar = true;$("#topTitle").click(function(){(isFiveStar = !isFiveStar) ? $("#topTitle").css("background-color","#e2231a"):$("#topTitle").css("background-color","#8B0000");});let pendingNum = 1;let waitSubmitIds;let curId = 0;let maxCurId = 0;$("#JDifr").load(function(){if($("#JDifr").attr("src").indexOf("sort") > 0){pendingNum = ($("#JDifr").contents().find("a.text:first").siblings().length>0 && $("#JDifr").contents().find("a.text:first").attr("href")=="?sort=0")?parseInt($("#JDifr").contents().find("a.text:first").next().text()):0;waitSubmitIds = $("#JDifr").contents().find(".number").length>0?$("#JDifr").contents().find(".number").text().match(/\d{10,12}/g):0;maxCurId = waitSubmitIds?waitSubmitIds.length:0;curId = 0;if(pendingNum != 0 && maxCurId > 0 ){gotoNextURL("order");}else{showInfo("订单全部评价完毕!!!");}}else if($("#JDifr").attr("src").indexOf("ruleid") > 0 && curId < maxCurId){sumbitEvaluate();gotoNextURL("order");}else if(curId == maxCurId){gotoNextURL("main");}else{showInfo("异常了!联系作者!");}$("#JDifr").contents().find("html").css("overflow","hidden");});function showInfo(infoShow){$("#JDifr").contents().find("#nav").text(infoShow);$("#JDifr").contents().find("#nav").css({"text-align":"center","padding":"30px","margin":"1px","font-size":"50px","color":"#FFFFFF","width":"100%"});}function gotoNextURL(nextURL){trueNextURL = (nextURL=="main")?("https://club.jd.com/myJdcomments/myJdcomment.action?sort=0"):("https://club.jd.com/myJdcomments/orderVoucher.action?ruleid="+waitSubmitIds[curId]);window.setTimeout(function(){$("#JDifr").attr("src", trueNextURL);},500);}function sumbitEvaluate(){if ($("#JDifr").attr("src").indexOf("club.jd.com") > 0){let tempInter,contentArr = ['商品质量很好,很满意,配送速度快啊,而且配送员态度也非常好。','挺好的,非常实用。京东的物流很快哟~希望以后会更快╭(╯3╰)╮','多快好省,京东给力,下次还是要选择京东商城,没错,非常满意','非常好,一起买的,价格便宜,快递又快,京东商城还是非常的专业和贴心!','活动期间买的很实惠,京东自营,值得信赖。','便宜好用,值得推荐买买买,同事都说好用。下次继续买买买,哈哈哈…','京东物流就是一个字快,昨晚10点多,11点前下的单今天早上就收到,包装得很好。','京东购物使我们的生活更便捷了!京东商品丰富,无所不有,自营商品更是价格优惠!','一直上京东商城网购,东西非常不错,价格便宜,物流快,是正品','质量很好,性价比高,值得购买,送货速度快!!','怒赞!(此评论虽仅有两个字,可谓言简意赅,一字千金,字字扣人心弦!','我为什么喜欢在京东买东西,因为今天买明天就可以送到。','非常感谢京东商城给予的优质的服务,从仓储管理、物流配送等各方面都是做的非常好的。'];tempInter = setInterval(function() {window.clearInterval(tempInter);$("#JDifr").contents().find(".star5:visible").each(function(){isFiveStar?$(this).click():(Math.random(0, 1) > 0.5 ? $(this).click() : $(this).siblings('.star4').click());});isTag = $("#JDifr").contents().find(".m-tagbox a");if(isTag){$("#JDifr").contents().find(".m-tagbox a:first-child").addClass("tag-checked");}let tLen = $("#JDifr").contents().find('textarea:visible').length;if (tLen){for (let ti = 0; ti < tLen; ti++){$("#JDifr").contents().find('textarea:visible').eq(ti).text(contentArr[Math.floor(contentArr.length * Math.random())]);}}window.setTimeout(function(){$("#JDifr").contents().find('.btn-submit')[0].click();curId++;},100);},50);}}

容器container
镜像image

1 列出所有容器container

docker ps
docker container ls
docker container list

上面三个命令,效果是一样的,后面可以加参数-a 列出所有的,包括已停止的。
-a, --all:列出所有的容器,包括停止运行的容器
-s, --size:显示容器的大小
-q, --quiet:仅显示容器ID
-f, --filter:过滤器,支持key=value的格式进行过滤,多个过滤器使用-f "key=value" -f "key=value"格式
比如:

docker ps -a
docker ps -a -s

2 停止容器container:

docker stop 'NAMES'
比如:
docker stop qinglong

3 删除容器CONTAINER:

由于CONTAINER ID很长,使用docker ps命令时,是看不到完整的CONTAINER ID的。
所以要看到完整的CONTAINER ID,可以是用如下命令:

docker inspect 'container name' | grep Id
比如:
docker inspect auto_spy | grep Id
        "Id": "3b542142b661142c8a2a7bd70bd4a4f0df75d4335a85f7d90978e198e152c52d",

删除的命令:

docker rm 'CONTAINER NAME'

但是,docker不能直接删除运行种的CONTAINER,要先停止
比如:

docker stop auto-proxy-pool  //一定要先停止,再删除
docker rm auto-proxy-pool

4 列出镜像image

镜像的ID长度比较短,可以完整的被看到。
如何查看image id呢?
docker images能查看所有的镜像。
docker image ls也可以,一样的效果。

docker images
docker image ls 

5 删除镜像image

除了像上面,直接docker images查看ID,还可以通过镜像image名称获取ID,比如:

docker images -q --filter reference=whyour/qinglong
5997b3824cbe

删除镜像,是通过IMAGE的ID来删除的:

docker rmi 'IMAGE ID'

docker image和docker images命令的区别:

docker images --help

Usage:  docker images [OPTIONS] [REPOSITORY[:TAG]]

List images

Options:
  -a, --all             Show all images (default hides intermediate images)
      --digests         Show digests
  -f, --filter filter   Filter output based on conditions provided
      --format string   Pretty-print images using a Go template
      --no-trunc        Don't truncate output
  -q, --quiet           Only show image IDs

docker image --help

Usage:  docker image COMMAND

Manage images

Commands:
  build       Build an image from a Dockerfile
  history     Show the history of an image
  import      Import the contents from a tarball to create a filesystem image
  inspect     Display detailed information on one or more images
  load        Load an image from a tar archive or STDIN
  ls          List images
  prune       Remove unused images
  pull        Pull an image or a repository from a registry
  push        Push an image or a repository to a registry
  rm          Remove one or more images
  save        Save one or more images to a tar archive (streamed to STDOUT by default)
  tag         Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE

Run 'docker image COMMAND --help' for more information on a command.

我没有直接alias wget,直接替换怕有问题。
写了个其他的函数fetch

vim ~/.bashrc
function fetch() {
    url=`echo ${1} | sed  's/raw.githubusercontent.com/raw.sec.st/g'`
    wget ${url}
}
source ~/.bashrc