docker开发学习

常用命令

Docker 阿里云加速https://cr.console.aliyun.com/#/accelerator

docker images 查看运行的镜像

docker build -t 镜像名 路径 构建镜像

docker rmi 删除镜像

docker run --name redislll redis 运行一个新的容器(--name 自定义容器名字

docker run -i -t IMAGE /bin/bash 启动交互式容器(-i 为容器启动一个交互式的守护进程,

-t 为容器创建个伪终端

-m 设置容器占用内存大小(x2)

-d 后台运行容器)

docker info 查看docker系统信息

docker ps 查看运行容器 -a 查看全部运行容器包括停止的

docker start 启动容器

docker stop 停止容器

docker kill 杀死容器

docker rm 删除命令

docker save busybox -1 > /home/save.tar

docker load < /home/save.tar 把一台机器上的镜像迁移到另一台机器的时候

需要保存镜像与加载镜像

docker cp ce58426c830c:/etc/debian . 从容器中拷贝文件出来

docker pull docker.io/mysql:latest 拉取镜像

docker inspect 查看容器也可查看镜像

exit 退出容器并关闭

ctrl + p ctrl + q 退出交互式容器(退出来但不关闭容器)

docker attach 进入交互式容器

docker logs 查看日志(-f 日志实施查看

-t 日志显示时间戳

-tall 显示日志条数)

docker logs -f -t --since='2017-09-04' --tail=10 tomcat_java

docker top 查看运行中进程

docker exec 在运行中的容器启动新的进程(-i 为容器启动一个交互式的守护进程,

-t 为容器创建个伪终端

-d 后台运行容器

docker exit -it tomcat /bin/bash 进入容器里面tomcat)

 

docker port 查看端口映射

docker commit -a ‘guanheng’ -m ‘aaa’ commit_test local/commit_test1 创建镜像(

-a 作者信息

-m 镜像信息

commit_test 容器名称

local 仓库名称

commit_test1 镜像名称)

docker run --volumes-from [CONTAINER NAME] 挂载数据卷容器(NAME已经挂载数据卷的容器)//多个容器共享数据

docker run -volumes-from [container name] -v $(pwd):/backup ubuntu tar xvf/backup.tar [

container data volume] 备份数据卷

docker build -t guanheng:myimage . 通过Dockerfile文件生成镜像

docker login 登录dockerHub

--link container:alias 容器之间的访问通过别名

 

Dockerfile 指令

# 注释

FROM imget:tag 原镜像

MAINTAINER name 指定作者信息

RUN 指定当前镜像中的命令

RUN <command> shell模式

RUN [“executable”,”param1”,”param2”] exec模式

EXPOST <port> 指定运行该镜像的容器的使用端口

CMD [“executable”,”param1”,”param2”] exec模式

CMD command param1 param2 shell

CMD[”param1”,”param2”](作为ENTRYPOINT指令的默认参数) 提供容器的默认命令

ENTRYPOINT [“executable”,”param1”,”param2”] exec模式

ENTRYPOINT command param1 param2 shell 不会被run中的命令覆盖

ADD <src> <dest> (ADD适用于tar解压缩)

ADD[“<src>”,”<dest>”] (适用于文件路径中有空格)

COPY <src> <dest>

COPY[“<src>”,”<dest>”] 把文件复制到docker创建的镜像中

VOLUME [“/data”] 向镜像容器添加卷

WORKDIR /path/to/workdir 设置工作目录

ENV <key> <value>

ENV <key>=<value> 设置环境变量

USER deamon设置镜像运行用户

ONBUILD [INSTRUCTION] 镜像触发器(当一个镜像被其他镜像作为基础镜像是执行)

 

test1 docker执行命令

mysql run:

docker run -it -p 13306:3306 -v /root/bbb/docker-entrypoint.sh:/docker-entrypoint.sh -e MYSQL_ROOT_PASSWORD=hello_123 --name dk_mysql1 mysql

tomcat run:

docker run -it --rm -p 38080:8080 \

-v /opt/java/webapps:/usr/local/tomcat/webapps \

-v /opt/java/tomcat-logs:/usr/local/tomcat/logs \

-v /opt/java/webapp-conf:/root/webapp-conf \

-v /opt/java/webapp-logs:/root/webapp-logs \

--name tocmat_java \

tomcat

docker compose Yaml文件

image:镜像的IDbuild:直接从pwd的Dockerfile来build,而非通过image选项来pulllinks:连接到那些容器。每个占一行,格式为SERVICE[:ALIAS],例如 – db[:database]external_links:连接到该compose.yaml文件之外的容器中,比如是提供共享或者通用服务的容器服务。格式同linkscommand:替换默认的command命令

ports: 导出端口。

expose:导出端口,但不映射到宿主机的端口上。它仅对links的容器开放。格式直接指定端口号即可。volumes:加载路径作为卷,可以指定只读模式

volumes_from:加载其他容器或者服务的所有卷

env_file:从一个文件中导入环境变量,文件的格式为RACK_ENV=developmentextends:扩展另一个服务,可以覆盖其中的一些选项。

net:容器的网络模式,可以为”bridge”, “none”, “container:[name or id]”, “host”中的一个。dns:可以设置一个或多个自定义的DNS地址。dns_search:可以设置一个或多个DNS的扫描域。其他的working_dir, entrypoint, user, hostname, domainname, mem_limit, privileged, restart, stdin_open, tty, cpu_shares,和docker run命令是一样的,这些命令都是单行的命令。

示例:

 

docker-compose常用命令

--verbose:输出详细信息-f 制定一个非docker-compose.yml命名的yaml文件-p 设置一个项目名称(默认是directory名)docker-compose的动作包括:build:构建服务kill -s SIGINT:给服务发送特定的信号。logs:输出日志port:输出绑定的端口ps:输出运行的容器pull:pull服务的imagerm:删除停止的容器run: 运行某个服务,例如docker-compose run web python manage.py shellstart:运行某个服务中存在的容器。stop:停止某个服务中存在的容器。up:create + run + attach容器到服务。scale:设置服务运行的容器数量。例如:docker-compose scale web=2 worker=3参考:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值