docker
1. ubuntu下安装docker
安装docker有两种方法:
一种是用官方的bash脚本一键安装。
直接一条命令就解决了:
$ curl -sSL https://get.docker.com/ | sh
另一种是一步一步的安装。
ubuntu安装vmtools
1.更新apt源
命令:sudo vim /etc/apt/sources.list
- 图形化换源
更新
apt-get update
2.安装docker
1. 安装 Docker
$ sudo apt-get install docker.io
2.开启docker服务
service docker start
systemctl restart docker
- 修改为国内源
pull一个镜像是真的慢
所以修改/etc/docker/daemon.json
文件
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
修改保存后重启 Docker 以使配置生效。
systemctl restart docker
3.docker基本命令
docker search ubuntu //搜索镜像
docker pull //下载镜像
docker images // 查看下载的镜像
docker ps //查看正在运行的容器
docker ps -a // 查看容器列表
docker re/start unbuntu //重启/开启容器ubuntu
docker stop ubuntu //停止容器ubuntu
docker attach ubuntu //连接容器ubuntu
docker rm ubuntu //删除容器
docker rmi ubuntu //删除镜像
docker run -it --name myubuntu -p 80:8080 -p 22:22 ubuntu /bin/bash //创建并使用镜像
docker exec -it a62 /bin/bash
Docker 的tag似乎更加灵活,Docker 将文件等信息的变动抽象为一次次的commit,每一次commit以后可能走向不同的分支,当我们完成Docker file的构建后,会生成一串无规则的字符串代表此次生成的ID,此时,tag的作用就是为他创建一个友好的名称,方便我们对镜像库的管理
docker tag medicean/vulapps:c_cmseasy_1 pentest:v1
docker run -d -it pentest:v1
进入docker 镜像的shell
docker exec -it 88f /bin/bash
查看下服务
4.docker搭建网站直接访问
如果直接建立容器,不映射端口的话,只能通过docker的IP访问网站。
- 端口映射
docker run -d -it -p 8080:80 pentest:v1
就能直接通过虚拟机ip加端口访问
5. commit 将容器的状态保存为镜像
docker commit c43c web1 //容器ID,镜像名
更为标准点的如下:
$ sudo docker commit -m "Added json gem" -a "Docker Newbee" 0b2616b0e5a8 ouruser/sinatra:v2
其中,-m 来指定提交的说明信息,跟我们使用的版本控制工具一样;-a 可以指定更新的用户信息;之后是用来创建镜像的容器的 ID;最后指定目标镜像的仓库名和 tag 信息。创建成功后会返回这个镜像的 ID 信息。
6. Docker cp 命令
将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下。
docker cp /www/runoob 96f7f14e99ab:/www/
将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www。
docker cp /www/runoob 96f7f14e99ab:/www
将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。
docker cp 96f7f14e99ab:/www /tmp/
7.存储镜像
如果要导出镜像到本地文件,可以使用 docker save 命令。
docker save -o web.tar web1