Docker 操作容器

容器的启动

1.两种启动方式:

// 无交互方式
docker run ubuntu:14.04 /bin/echo "Hell the world!"

// 有交互的方式
docker run -t -i ubuntu:14.04 /bin/echo "Hell the world!" 

2.docker run 标准的启动流程:

  1. 检查本地是否存在指定的镜像,不存在就从公有仓库下载。
  2. 利用镜像创建并启动一个容器。
  3. 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层。
  4. 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去。
  5. 从地址池配置一个 ip 地址给容器。
  6. 执行用户指定的应用程序。
  7. 执行完毕后容器被终止。

后台运行

// 输出会定向到宿主机的 STDOUT
docker run ubuntu:17.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"

// 输出不会定向到宿主机的 STDOUT,可以用 docker logs 查看
docker run -d ubuntu:17.10 /bin/sh -c "while true; do echo hello world; sleep 1; don
e"

终止容器

docker container stop

// 查看终止的容器状态
docker container ls -a

进入容器

docker attach 243c

docker exec -it 69d1 bash

通过这种方式进入容器,在容器内使用 exit 命令,会使容器退出;而 exec 不会

导入导出容器

1.导出

docker export 7691a814370e > ubuntu.tar

2.导入

cat ubuntu.tar | docker import - test/ubuntu:v1.0

docker import http://example.com/exampleimage.tgz example/imagerepo

删除容器

docker container rm trusting_newton

// 清理所有处于停止状态的容器
docker container prune

访问仓库

1.注册公共仓库 Docker Hub

拉取镜像

docker search centos

docker search --filter=stars=100 centos

拉取镜像

docker pull centos

推送镜像

docker tag ubuntu:17.10 username/ubuntu:17.10

docker push username/ubuntu:17.10

docker search username

私有仓库

1.安装 docker-registry

$ docker run -d -p 5000:5000 --restart=always --name registry registry

$ docker run -d -p 5001-5002:5001-5002 --restart=always --name registry registry

2.启动并指定镜像存放位置:

$ docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry

3.标记镜像:

docker tag IMAGE[:TAG] [REGISTRY_HOST[:REGISTRY_PORT]/]REPOSITORY[:TAG] 。
$ docker tag ubuntu:latest 127.0.0.1:5000/ubuntu:latest

4.上传、搜索、下载镜像:

$ docker push 127.0.0.1:5000/ubuntu:latest

$ curl 127.0.0.1:5000/v2/_catalog
{"repositories":["ubuntu"]}

5.如果是推送到内网的其他主机仓库,可能需要解除 HTTPS 限制要求:
/etc/docker/daemon.json

{
	"registry-mirror": [
		"https://registry.docker-cn.com"
	],
	"insecure-registries": [
		"192.168.199.100:5000"
	]
}
$ sudo service docker restart
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值