Docker
2020-12-14 11:56:07 44 举报
AI智能生成
登录查看完整内容
Docker
作者其他创作
大纲/内容
Docker
*
服务
启动/停止/重启/状态
systemctl start/stop/restart/status docker
systemctl start/stop/restart/status docker.service
service docker start/stop/restart/status
登录
docker login [OPTIONS] [SERVER]
docker login localhost:8080
docker login -u foo -p bar
cat my_password.txt | docker login -u foo --password-stdin
注销
docker logout [SERVER]
docker logout
docker logout localhost:8080
查看docker系统
显示Docker磁盘使用情况
docker system df [OPTIONS]
docker system df
从服务器获取实时事件
docker system events [OPTIONS] docker events
docker system events
docker events
显示系统信息
docker system info [OPTIONS] docker info [OPTIONS]
docker system info
docker info
删除未使用的数据
docker system prune [OPTIONS]
docker system prune
docker system prune --volumes
docker system prune -af
查看容器的资源使用情况
docker stats [OPTIONS] [CONTAINER...]
docker stats
版本
docker version [OPTIONS]
docker version
Images
搜索
docker search [OPTIONS] TERM
docker search ubuntu
docker seacrch --filter=stars=5 ubuntu
docker search -f is-official=true ubuntu
docker search --limit 2 ubuntu
拉取
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
dokcer pull ubuntu
docker pull ubuntu:latest
docker pull -a ubuntu
推
docker push [OPTIONS] NAME[:TAG]
列出
docker images [OPTIONS] [REPOSITORY[:TAG]] docker image ls [OPTIONS] [REPOSITORY[:TAG]]
docker images docker images -a docker images --digests
docker image ls docker image ls ubuntu docker image ls ubuntu:latest
删除
docker rmi [OPTIONS] IMAGE [IMAGE...] docker image rm [OPTIONS] IMAGE [IMAGE...]
docker rmi ubuntu docker rmi -f ubuntu:latest docker rmi `docker images -aq`
docker image -f rm ubuntu docker image rm ubuntu:latest
docker image prune [OPTIONS]
docker image prune
docker image prune -a
标记
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
docker tag ubuntu:latest my_ubuntu:my_tag
历史记录
docker history [OPTIONS] IMAGE
docker history my_container
导入
docker import [OPTIONS] file | URL | - [REPOSITORY[:TAG]]
docker import http://example.com/my_container.tgz
docker import /path/to/my_container.tgz
cat my_container.tgz | docker import - my_image:import
docker load [OPTIONS]
docker load > my.tar.gz
docker load -i my.tar.gz
导出
docker save [OPTIONS] IMAGE [IMAGE...]
docker save ubuntu > ubuntu.tar
docker save -o ubuntu.tar ubuntu
两种导入/导出的区别
docker import
可以重新指定镜像的名字
docker load
不可以重新指定镜像的名字
docker export
将容器导出为镜像文件
会丢弃所有的历史记录和元数据信息,相当于虚拟机快照;(docker import)导入时,也可以重新指定标签等元数据。
docker save
将镜像导出为镜像文件
包含镜像的所有历史记录
Containers
构建
docker build [OPTIONS] PATH | URL | -
docker build .
docker build - < Dockerfile
创建并启动
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
docker run -it ubuntu:latest /bin/bash
docker run -d ubuntu:latest
docker run -p 127.0.0.1:80:80 ubuntu:latest
创建
docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
docker create -it ubuntu bash
docker create -v /data --name data ubuntu
docker create -v /home/docker:/docker --name docker ubuntu
docker ps [OPTIONS]
docker ps -a
docker ps -aq
进入
docker run -it ubuntu:latest
在容器中使用exit,则容器会停止
docker attach my_container
docker exec -it my_container bash
在容器中使用exit,则容器不会停止
启动
docker start [OPTIONS] CONTAINER [CONTAINER...]
docker start my_container
重启
docker restart [OPTIONS] CONTAINER [CONTAINER...]
docker restart my_container
暂停
docker pause CONTAINER [CONTAINER...]
docker pause my_container
停止
docker stop [OPTIONS] CONTAINER [CONTAINER...]
docker stop my_container
在容器中使用快捷键ctrl+p+q可以退出且不停止容器
阻塞
docker wait CONTAINER [CONTAINER...]
docker wait my_container
杀死
docker kill [OPTIONS] CONTAINER [CONTAINER...]
docker kill my_container
docker rm [OPTIONS] CONTAINER [CONTAINER...]
docker rm -f ubuntu
docker rm -v ubuntu
docker rm `docker ps -aq`
执行命令
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
docker exec my_container mkdir -p /one/two/three
重命名
docker rename CONTAINER NEW_NAME
docker rename my_container my_new_container
提交
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
docker commit my_container
docker commit --change \"ENV DEBUG=true\" my_container
docker export [OPTIONS] CONTAINER
docker export my_container > my_container.tar
docker export -o my_container.tar my_container
查看信息
文件修改记录
docker diff CONTAINER
docker diff my_container
构造的详细信息
docker inspect [OPTIONS] CONTAINER
docker inspect my_container
端口
docker port CONTAINER [PRIVATE_PORT[/PROTO]]
docker port my_container
docker port my_container 80
docker port my_container 80/tcp
日志
docker logs [OPTIONS] CONTAINER
docker logs my_container
运行的进程
docker top CONTAINER [ps OPTIONS]
docker top my_container
Network
docker network create [OPTIONS] NETWORK
docker network create --driver=bridge --subnet=192.168.0.0/16 my_network
docker network create -o \"com.docker.network.bridge.host_binding_ipv4\"=\"172.19.0.1\" my_network
docker network create --opt com.docker.network.bridge.host_binding_ipv4=172.19.0.1 my_network
docker run -itd --network=my_network my_container
连接
docker network connect [OPTIONS] NETWORK CONTAINER
docker network connect my_network my_container
断开
docker network disconnect [OPTIONS] NETWORK CONTAINER
docker network disconnect my_network my_container
查看
docker network ls [OPTIONS]
docker network ls
docker network ls --filter driver=bridge
docker network rm NETWORK [NETWORK...]
docker network rm my_network
docker network prune [OPTIONS]
docker network prune
检查
docker network inspect [OPTIONS] NETWORK [NETWORK...]
docker network inspect my_network
Volume
docker volume create [OPTIONS] [VOLUME]
docker volume create my_volumedocker run -d -v my_volume:/world my_container
docker volume ls [OPTIONS]
docker volume ls
docker volume rm [OPTIONS] VOLUME [VOLUME...]
docker volume rm my_volume
docker volume prune [OPTIONS]
docker volume prune
docker volume inspect [OPTIONS] VOLUME [VOLUME...]
docker volume inspect my_volume
Dockerfile
FROM
FROM [--platform=<platform>] <image>[:<tag>] [AS <name>]
FROM ubuntu:latest
RUN
RUN <command>
RUN /bin/bash -c 'source $HOME/.bashrc; echo $HOME'
RUN [\"executable\
RUN [\"/bin/bash\
RUN [\"c:\\\\windows\\\\system32\\\\tasklist.exe\"]
CMD
CMD command param1 param2
CMD echo \"This is a test.\" | wc -
CMD [\"executable\
CMD [\"/usr/bin/wc\
CMD [\"param1\
LABEL
LABEL <key>=<value> <key>=<value> <key>=<value> ...
LABEL multi.label1=\"value1\" multi.label2=\"value2\" other=\"value3\"
LABEL multi.label1=\"value1\" \\ multi.label2=\"value2\" \\ other=\"value3\"
LABEL \"com.example.vendor\"=\"ACME Incorporated\"
LABEL version=\"1.0\"
LABEL description=\"This text illustrates \\that label-values can span multiple lines.\"
EXPOSE
EXPOSE <port> [<port>/<protocol>...]
EXPOSE 80/tcp
EXPOSE 80/udp
ENV
ENV <key>=<value> ...
ENV MY_NAME=\"John Doe\"ENV MY_DOG=Rex\\ The\\ DogENV MY_CAT=fluffy
ENV MY_NAME=\"John Doe\" MY_DOG=Rex\\ The\\ Dog \\ MY_CAT=fluffy
ENV <key> <value>
ENV MY_VAR my-value
ENV ONE TWO= THREE=world
ADD
ADD [--chown=<user>:<group> <src>... <dest>
ADD hom* /mydir/ADD hom?.txt /mydir/ADD test.txt relativeDir/
ADD --chown=55:mygroup files* /somedir/ADD --chown=bin files* /somedir/ADD --chown=1 files* /somedir/ADD --chown=10:11 files* /somedir/
ADD [--chown=<user>:<group>] [\"<src>\
COPY
COPY [--chown=<user>:<group>] <src>... <dest>
COPY hom* /mydir/COPY hom?.txt /mydir/COPY test.txt relativeDir/
COPY --chown=55:mygroup files* /somedir/COPY --chown=bin files* /somedir/COPY --chown=1 files* /somedir/COPY --chown=10:11 files* /somedir/
COPY [--chown=<user>:<group>] [\"<src>\
ENTRYPOINT
ENTRYPOINT [\"executable\
ENTRYPOINT command param1 param2
VOLUME
VOLUME [\"/data\"]
USER
USER <user>[:<group>]
USER <UID>[:<GID>]
WORKDIR
WORKDIR /path/to/workdir
WORKDIR /aWORKDIR bWORKDIR cRUN pwd
ENV DIRPATH=/pathWORKDIR $DIRPATH/$DIRNAMERUN pwd
ARG
ARG <name>[=<default value>]
预定义的
HTTP_PROXY
http_proxy
HTTPS_PROXY
https_proxy
FTP_PROXY
ftp_proxy
NO_PROXY
no_proxy
ONBUILD
ONBUILD <INSTRUCTION>
STOPSIGNAL
STOPSIGNAL signal
HEALTHCHECK
HEALTHCHECK [OPTIONS] CMD command
HEALTHCHECK NONE
SHELL
SHELL [\"executable\
.dockerignore
#
注释
# comment
通配符
*/temp*
?
单个通配字符
temp?
!
非
!README.md
0 条评论
回复 删除
下一页