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/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章