一、如何给Docker配置官方国内加速镜像
配置镜像加速器
国内访问 Docker Hub 有时会遇到困难,此时可以配置镜像加速器。国内很多云服务商都提供了加速器服务,例如:
阿里云加速器
DaoCloud 加速器
灵雀云加速器
注册用户并且申请加速器,会获得如这样的地址。我们需要将其配置到Docker 引擎。
下面以CentOS7为例,说明如何配置镜像加速器
设置Docker开机启动
systemctl enable docker
修改docker.service配置文件
vim /etc/systemd/system/multi-user.target.wants/docker.service
找到 ExecStart= 这一行,在这行最后添加加速器地址 --registry-mirror=,如:ExecStart=/usr/bin/dockerd--registry-mirror= 重新加载配置 sudo systemctl daemon-reload 重新启动Docker sudo systemctl restart docker 验证是否生效 执行如下命令: ps -ef | grep dockerd 如果从结果中看到了配置的 --registry-mirror 参数说明配置成功。 启动Docker,获取镜像 执行如下命令启动Docker systemctl start docker Docker 运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker 会从镜像仓库下载(默认是Docker Hub 公共注册服务器中的仓库)。 例如从镜像仓库下载ubuntu16.04镜像 docker pull ubuntu:16.04 运行容器 有了镜像后,我们就可以以这个镜像为基础启动一个容器来运行。以上面的ubuntu:16.04 为例,如果我们打算启动里面的 bash 并且进行交互式操作的话,可以执行下面的命令。 docker run -it ubuntu:16.04 /bin/bash 查看系统版本 cat /etc/os-release
二、pb自动升级程序怎么实现
1.用-v挂载主机数据卷到容器内
docker run -v /path/to/hostdir:/mnt $container
在容器内拷贝
cp /mnt/sourcefile /path/to/destfile
2.直接在主机上拷贝到容器物理存储系统
A. 获取容器名称或者id :
$ docker ps
B. 获取整个容器的id
$ docker inspect -f '{{.Id}}' 步骤A获取的名称或者id
C. 在主机上拷贝文件:
$ sudo cp path-file-host /var/lib/docker/aufs/mnt/FULL_CONTAINER_ID/PATH-NEW-FILE
或者
$ sudo cp path-file-host /var/lib/docker/devicemapper/mnt/123abc<>/rootfs/root
例子:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d8e703d7e303 solidleon/ssh:latest /usr/sbin/sshd -D cranky_pare
$ docker inspect -f '{{.Id}}' cranky_pare
or
$ docker inspect -f '{{.Id}}' d8e703d7e303
d8e703d7e3039a6df6d01bd7fb58d1882e592a85059eb16c4b83cf91847f88e5
$ sudo cp file.txt /var/lib/docker/aufs/mnt/**d8e703d7e3039a6df6d01bd7fb58d1882e592a85059eb16c4b83cf91847f88e5
3.用输入输出符
docker run -i Ubuntu /bin/bash -c 'cat > /path/to/container/file' < /path/to/host/file/
或者
docker exec -it bash -c 'cat > /path/to/container/file' < /path/to/host/file/
三、如何从主机获取Docker容器的IP地址
首先获取容器 ID:
docker ps
( 第一列用于容器标识)
使用容器ID运行:
docker inspect 在下面的NetworkSettings下,你可以找到ip地址