Docker使用总结

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版)

1.启动 停止docker服务

  systemctl start docker         #启动docker服务
  systemctl status docker        #查看docker的运行状态
  systemctl stop docker          #停止docker服务

2.帮助命令

  docker --help                #获取帮助
  docker command --help      #获取对应的命令帮助

3.镜像列表

 

 

  docker images   #列出本地所有镜像
  #REPOSITORY:表示镜像的仓库源
  #TAG:镜像的标签
  #IMAGE ID:镜像ID
  #CREATED:镜像创建时间
  #SIZE:镜像大小

 

4.搜索镜像(https://hub.docker.com/

 

 

 

  docker search mysql       #搜索mysql镜像
  docker search mysql  -s 30   #获取stars大于30的mysql镜像
  #NAME: 镜像仓库源的名称
  #DESCRIPTION: 镜像的描述
  #OFFICIAL: 是否 docker 官方发布
  #stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。
  #AUTOMATED: 自动构建。    

 

5.获取镜像

  docker pull mysql        #获取l最新的mysql
  docker pull mysql:5.7    #获取版本为5.7的mysql

6.执行镜像

  docker run -it  mysql:5.7 /bin/bash  
  docker run -it -d -p 80:8080 -v /root/www/www:/usr/local/nginx nginx #将容器的8080端口映射到本地的80端口,同时将本地的/root/www/www目录挂载到容器的/usr/local/nginx
#--name:定义容器的名称 #-i: 交互式操作。 #-t: 终端。 #-d:后台执行 #-p 宿主机IP:容器IP :端口映射 #-P :随机指定宿主机的端口进行映射 #-v:挂载宿主目录到容器目录 #-e:设置环境变量 #/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。 docerk start 容器ID #重启容器 docker stop 容器ID #停止容器 docker restart 容器ID #重启容器 在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入: # docker attach 容器ID # docker exec 容器ID :推荐大家使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。

 

 

7.删除镜像

  docker rmi -f mysql    #强制删除mysql镜像

8.设置镜像标签

  docker tag 791b6e40940c docker.io/mysql:8.0

 9.查看容器

    docker ps   #查看正在运行的容器
      #  -l   :查询最后一次创建的容器
      #  -a   :查看全部的容器(包括已经停止的)
      #  -n 5 :查看最后5个运行的容器

10.修改和创建镜像

    docker commit -m="has update" -a="HT" e218edb10161 HT/mysql:5.7
        #-m    : 提交的描述信息
        #-a    : 指定镜像作者
        #e218edb10161    :容器 ID
        #HT/mysql:5.7    :指定要创建的目标镜像名

 11.设置docker能访问宿主的服务

firewall-cmd --permanent --zone=trusted --change-interface=docker0
firewall-cmd --reload

 

posted @ 2020-02-12 19:43  hello-*-world  阅读(154)  评论(0编辑  收藏  举报