安装
$ sudo yum remove docker \ # 移除旧版本
docker-common \
docker-selinux \
docker-engine
$ curl -sSL https://get.daocloud.io/docker | sh # 超时
$ sudo yum -y install docker-io
$ sudo chkconfig docker on
$ sudo docker version
Client:
Version: 1.12.6
API version: 1.24
Package version: docker-1.12.6-61.git85d7426.el7.centos.x86_64
Go version: go1.8.3
Git commit: 85d7426/1.12.6
Built: Tue Oct 24 15:40:21 2017
OS/Arch: linux/amd64
Server:
Version: 1.12.6
API version: 1.24
Package version: docker-1.12.6-61.git85d7426.el7.centos.x86_64
Go version: go1.8.3
Git commit: 85d7426/1.12.6
Built: Tue Oct 24 15:40:21 2017
OS/Arch: linux/amd64
docker加速器
https://cr.console.aliyun.com/#/accelerator
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xxx"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
使用
docker pull hello-world # 下载
docker images # 查看
docker rmi image-id #删除
docker run --name container-name -d image-name # 运行镜像为容器
docker ps # 容器列表
docker start/stop container-name/container-id
docker logs container-name/container-id # 查看容器日志
docker rm container-id
docker pull redis # 获取redis镜像
docker run -d -p 6378:6379 --name redis6378 redis # daemon方式运行,并且映射容器的6379端口到本机的6378端口
docker在容器内所有的改动都是暂时的。docker commit
可以保存对容器的更改,将其创建为新镜像:
docker commit -m '备注信息' [容器id或者name] [新镜像名称]
进入容器
docker exec -it [容器name] env TERM=xterm-256color bash
push自己的镜像
aliyun
push到国内的托管站会比较快。
登录后首先新建命名空间
1、从本地上传镜像
$ sudo docker login --username=aliyun容器镜像用户名 registry.cn-hangzhou.aliyuncs.com
# 默认为版本号为latest,不写也行
$ sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/[容器镜像命名空间]/my-oracle-xe-11g:[镜像版本号]
$ sudo docker push registry.cn-hangzhou.aliyuncs.com/[容器镜像命名空间]/my-oracle-xe-11g:[镜像版本号]
# 例子
$ sudo docker tag f794779ccdb9 registry.cn-hangzhou.aliyuncs.com/lawlietfans/my-oracle-xe-11g:v20171130
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
wnameless/oracle-xe-11g latest f794779ccdb9 7 weeks ago 2.23GB
registry.cn-hangzhou.aliyuncs.com/lawlietfans/my-oracle-xe-11g v20171130 f794779ccdb9 7 weeks ago 2.23GB
$ sudo docker push registry.cn-hangzhou.aliyuncs.com/lawlietfans/my-oracle-xe-11g:v20171130
done
查看镜像列表:https://cr.console.aliyun.com/#/imageList
另一个例子:
2、从代码源构建镜像
代码源中一定要包含Dockerfile
docker.com
$ sudo docker tag [ImageId] [docker.com用户名]/[imagename]:[镜像版本号]
$ sudo docker push [docker.com用户名]/[imagename]:[镜像版本号]
查看自己的仓库列表:
https://cloud.docker.com/app/[docker.com用户名]/repository/list