docker基本操作

安裝

$ 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

另一個例子:

eg

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

References

  1. https://docs.docker.com/engine/installation/linux/docker-ce/centos/
  2. http://get.daocloud.io/#install-docker
  3. http://bingxiong.vip/2018/02/dockerbasic/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章