1.docker 安装(含 docker compose)

爱工作的java程序猿 · · 428 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

docekr history (构建历史)

简单使用

# 格式化输出,不进行简短输出
docker history mysql:5.7.25 --format "table {{.ID}}\t{{.CreatedBy}}" --no-trunc    
docker history mysql:5.7.25 --format "table {{.CreatedBy}}" --no-trunc    
# mysql

/bin/sh -c #(nop)  CMD ["mysqld"]
/bin/sh -c #(nop)  EXPOSE 3306 33060
/bin/sh -c #(nop)  ENTRYPOINT ["docker-entrypoint.sh"]
/bin/sh -c ln -s usr/local/bin/docker-entrypoint.sh /entrypoint.sh # backwards compat
/bin/sh -c #(nop) COPY file:aa86b132b6a63ce8f2df8c8d76b662672060962e3252d6c86dcec28ce598e256 in /usr/local/bin/ 
/bin/sh -c #(nop)  VOLUME [/var/lib/mysql]
/bin/sh -c {   echo mysql-community-server mysql-community-server/data-dir select '';   echo mysql-community-server mysql-community-server/root-pass password '';   echo mysql-community-server mysql-community-server/re-root-pass password '';   echo mysql-community-server mysql-community-server/remove-test-db select false;  } | debconf-set-selections  && apt-get update && apt-get install -y mysql-server="${MYSQL_VERSION}" && rm -rf /var/lib/apt/lists/*  && rm -rf /var/lib/mysql && mkdir -p /var/lib/mysql /var/run/mysqld  && chown -R mysql:mysql /var/lib/mysql /var/run/mysqld  && chmod 777 /var/run/mysqld  && find /etc/mysql/ -name '*.cnf' -print0   | xargs -0 grep -lZE '^(bind-address|log)'   | xargs -rt -0 sed -Ei 's/^(bind-address|log)/#&/'  && echo '[mysqld]\nskip-host-cache\nskip-name-resolve' > /etc/mysql/conf.d/docker.cnf
/bin/sh -c echo "deb http://repo.mysql.com/apt/debian/ stretch mysql-${MYSQL_MAJOR}" > /etc/apt/sources.list.d/mysql.list
/bin/sh -c #(nop)  ENV MYSQL_VERSION=5.7.25-1debian9
/bin/sh -c #(nop)  ENV MYSQL_MAJOR=5.7
/bin/sh -c set -ex;  key='A4A9406876FCBD3C456770C88C718D3B5072E1F5';  export GNUPGHOME="$(mktemp -d)";  gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "$key";  gpg --batch --export "$key" > /etc/apt/trusted.gpg.d/mysql.gpg;  gpgconf --kill all;  rm -rf "$GNUPGHOME";  apt-key list > /dev/null
/bin/sh -c apt-get update && apt-get install -y --no-install-recommends   pwgen   openssl   perl  && rm -rf /var/lib/apt/lists/*
/bin/sh -c mkdir /docker-entrypoint-initdb.d
/bin/sh -c set -x  && apt-get update && apt-get install -y --no-install-recommends ca-certificates wget && rm -rf /var/lib/apt/lists/*  && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture)"  && wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture).asc"  && export GNUPGHOME="$(mktemp -d)"  && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4  && gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu  && gpgconf --kill all  && rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc  && chmod +x /usr/local/bin/gosu  && gosu nobody true  && apt-get purge -y --auto-remove ca-certificates wget
/bin/sh -c #(nop)  ENV GOSU_VERSION=1.7
/bin/sh -c apt-get update && apt-get install -y --no-install-recommends gnupg dirmngr && rm -rf /var/lib/apt/lists/*
/bin/sh -c groupadd -r mysql && useradd -r -g mysql mysql
/bin/sh -c #(nop)  CMD ["bash"]
/bin/sh -c #(nop) ADD file:4fc310c0cb879c876c5c0f571af665a0d24d36cb9263e0f53b0cda2f7e4b1844 in / 

参数说明

# history 命令的参数说明
[root@bigdata171 docker-compose]# docker history  --help

Usage:  docker history [OPTIONS] IMAGE

Show the history of an image

Options:
      --format string   Pretty-print images using a Go template # 格式化输出
  -H, --human           Print sizes and dates in human readable format (default true) # date 和 size 可读性好的输出
      --no-trunc        Don't truncate output   # 不进行简短输出
  -q, --quiet           Only show numeric IDs   # 只输出 id


Golang的template(模板引擎)简明教程

docker cp

简单使用

# 将 mysql docker 中的 /usr/local/bin/docker-entrypoint.sh 复制出来
docker cp docker-compose_mysql_1:/usr/local/bin/docker-entrypoint.sh  ./
docker cp -L docker-compose_mysql_1:/docker-entrypoint.sh  ./ 

参数说明

[root@bigdata171 docker-compose]# docker cp --help

Usage:  docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
    docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

Copy files/folders between a container and the local filesystem

Use '-' as the source to read a tar archive from stdin
and extract it to a directory destination in a container.
Use '-' as the destination to stream a tar archive of a
container source to stdout.

Options:
  -a, --archive       Archive mode (copy all uid/gid information) 
  -L, --follow-link   Always follow symbol link in SRC_PATH # 当文件内容为链接的时候,将链接的目标进行 copy 

docker build

#FROM openjdk:8-jre-alpine
FROM openjdk:8-jre
# 参数
ARG FINAL_NAME

ADD wait-for-it.sh /wait-for-it.sh
ADD ${FINAL_NAME}.jar /app.jar

ENTRYPOINT exec java $JAVA_OPTS -jar /app.jar \
    --spring.profiles.active=local \
    --spring.cloud.config.enabled=false \
    $JAR_OPTS

# 带参数构建 build-arg
docker build --build-arg FINAL_NAME=app -t manager .
# 查看构建历史
docker history manager --format "table {{.CreatedBy}}" --no-trunc    

删除 none images

docker image prune

删除停止的容器

sudo docker rm $(sudo docker ps -qf status=exited)



有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:爱工作的java程序猿

查看原文:1.docker 安装(含 docker compose)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

428 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传