构建docker镜像
两种方法docker commit 与Dockerfile文件
一.Dockerfile
FROM ubuntu
RUN apt-get update && apt-get install -y vim
运行语句:docker build -t ubuntu-vim .
二.docker commit以ubuntu 镜像安装vi并保存为新镜像为例(不推荐 易出错效率低重用性差安全性差不知道此镜像封装了什么)学习是因为Dockerfile本质上也是一层层提交的
1.运行并进入镜像
docker run -it ubuntu
2.查验是否已安装
vim
3.安装vim
apt-get install -y vim
4.查看镜像名
docker ps
5.提交保存为新镜像
docker commit ps-names(sillu_gaaa) ubuntu-with-it
6.运行新镜像
docker run it ubuntu-with-it
错误解决:Temporary failure resolving “xxx.com”
vim /etc/docker/daemon.json
编辑信息:
{
"dns": ["202.96.209.5","8.8.8.8"]
}
重启Docker服务,命令: service docker restart
docker create
docker stop
docker start
docker restart
docker pause
docker unpause
docker kill
docker network ls
网络通信IP docker DNS Server joined
--network = none,host,bridge 指定网络
--subnet 172..22.16.0/22 --gateway 172.22.16.1 指定网段,网关
-d 后台启动容器
--name 自定义命名容器
--restart=always 无论何种原因退出立即重启
--restart=on-failure:3 非正常退出重启,最多重启3次
-f 持续
-m --memory 内存限额
-c --cpu-shares cpu权重越大越靠前
搜索Docker Hub
docker search httpd
启动并进入centos
docker run -it centos
运行docker 下载运行httpd容器,并将容器80端口映射到host 80端口
docker run -d -p 80:80 httpd
重启Docker daemon守护进程
systemctl restart docker.service
查看docker版本
docker -v
查看docker状态
system-rctl status docker
查看本地镜像列表
docker images
删除本地镜像
docker rmi httpd:latest
重载守护进程
systemctl daemon-reload
显示正在运行的容器
docker ps -a
删除运行后的容器
docker rm id or names
(docker rm -v $(docker ps -aq -f status=exited))
下载镜像
docker pull
上传镜像
docker push
Ubuntu安装
- 移除旧的(没有就算了)
sudo apt-get remove docker docker-engine docker.io
- 安装https等
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
- 添加Docker官方GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- 将Docker的源添加到/etc/apt/sources.list
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
- 更新apt
sudo apt-get update
- 安装docker-ce
sudo apt-get install docker-ce
- 测试成功没
这一步很可能不成功,大部分是因为镜像库在国外连接超时或者失败等等,可以换成阿里的镜像库自行搜索
sudo docker run hello-world