Docker基本使用

Docker 基本使用

使用docker也有一段时间了,趁现在有时间,做一下笔记,总结一下。有讲得不好的地方,还望各位不吝赐教。

Docker 是什么

docker 是基于GO语言开发的,一款轻量级的、可移植的应用容器引擎。Docker基本使用_第1张图片
通过这个它的图片就可以看出,一条鲸鱼承载着一个个集装箱(应用服务)。它使用沙箱机制,容器之间互不干扰,通过它,可以快速打包、部署应用服务,实现虚拟化,省去传统每次发布服务都要配置好运行环境的麻烦。docker 可以在window安装,也可以在Linux环境安装。

docker 镜像:docker镜像是用来启动docker容器的,类似于java中的类,而容器就是类实例化之后的对象;镜像可以包含一些基本数据,用来启动容器。镜像可以通过第三方网上下载(docker pull tags),也可以通过Dockerfile文件构建(docker build . -t tag),也可以通过其他地方移植过来,(导出镜像:docker save xxx.tar tag ;导入镜像:docker load xxx.tar)。
docker 容器:镜像创建的运行实例。
docker 仓库:用来集中存放镜像文件的。

常用命令
docker container ls 列出所有正在运行的容器
docker exec -id docker_id bash 命令行方式进入docker
docker-compose ps 列出当前docker-compose的镜像文件

docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID

docker logs -f -t --tail=100 bed55d9d33b7

搜索
docker search httpd

-- 同步时间
docker exec -it -u root [CONTAINER_ID] /bin/bash进入容器内部
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo "Asia/Shanghai" > /etc/timezone



1,普通dockers
编译命令
docker build . 当前文件编译,依赖Docker_file

sudo docker build . -t containerName_version
编译的时候 containerName_version为tag

启动命令
sudo docker run --net=host -t -i 直接
启动的时候 --net=host 为指定与宿主机共享网卡
后台运行 -d
直接进入container的bash -i -t

docker run --net=host --name nebula_sniffer -d n   ebula_sniffer:20181129
-P  内部端口映射到宿主机高端口
--name 说明容器名字 -d 后台运行
最后是指定容器,也可以用容器的ID


创建互联网络
 docker network create -d bridge test-net
 运行一个容器并连接到新建的 test-net 网络:
docker run -itd --name test1 --network test-net ubuntu /bin/bash

配置dns
 docker run -it --rm -h host_ubuntu  --dns=114.114.114.114 --dns-search=test.com ubuntu
 参数说明:
--rm:容器退出时自动清理容器内部的文件系统。
-h HOSTNAME 或者 --hostname=HOSTNAME: 设定容器的主机名,它会被写到容器内的 /etc/hostname 和 /etc/hosts。
--dns=IP_ADDRESS: 添加 DNS 服务器到容器的 /etc/resolv.conf 中,让容器用这个服务器来解析所有不在 /etc/hosts 中的主机名。
--dns-search=DOMAIN: 设定容器的搜索域,当设定搜索域为 .example.com 时,在搜索一个名为 host 的主机时,DNS 不仅搜索 host,还会搜索 host.example.com。
--rm 启动完即可删除

docker-compose
docker-compose exec containerName bash

docker导出
1,将当前容器保存成新的一个镜像
docker commit nebula containerName

dcoker export 容器id > containerName
docker  ps  查容器id

导出镜像    
$ docker save alpine | gzip > alpine-latest.tar.gz
$ docker load -i alpine-latest.tar.gz

docker commit containerName containerName:version

2,用dockers-compose管理的dockers
完整命令
docker-compose build 用docker-compose进行构建镜像
docker-compose down 停止并且删除当前docker-compose运行的容器文件
docker-compose build 用docker-compose进行构建镜像
docker-compose up -d 启动当前docker-compose所有制定的容器

你可能感兴趣的:(docker,docker,linux,运维,服务器)