安裝
$ 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