1.如何修改Windows上Docker的镜像源
方法1
1按住键盘上的ALT键不放,然后在小键盘区输入“9745”这几个数字,最后松开 ALT 键,自动变成框框中带勾符号。
方法2
在Word文档中输入数字“2611” ,然后按下键盘上的快捷键 ALT + X ,此时,这几个数字就会转换成方框内打钩符号!
方法3
1在Word文档中输入一个大写字母“R”
2然后将“R”选中,再将字体设置为“Wingdings 2”,R 就会变成方框里打钩符号。
方法4
1打开word,选择“插入”---“符号”---“符号”---“其他符号”
2在弹出的“符号”对话框中将“字体”项选择为“Wingdings 2”,然后在下面就可以找到方框内打钩符号,选中后点击“插入”即可。
方法5
1打开word,选择“插入”---“符号”---“符号”---“其他符号”
2在弹出的“符号”对话框中将“子集”项选择为“数学运算符”,然后在下面就可以找到“勾”符号,选中后点击“插入”即可。
3然后在“开始”选项卡中的“字体”选项组中单击“字符边框”按钮;在弹出的“带圈字符”对话框中“圈号”项下选择方框。
4这样就变成框中打勾符号了。
2.Win10镜像如何安装呢?
1、在【开始菜单】选择【设置】,进入 Windows设置界面; 2、选择【更新与安全】; 3、打开【恢复】选项,在【重置此电脑】下点击【开始】; 4、根据电脑弹出的提示进行相应的选择,当电脑跳到【重置】界面,点击进行确认之后电脑开始重启,进入无人值守模式正式进行系统恢复,这个过程大概需要20分钟,这个时候我们可以去休息下或者喝杯茶/咖啡什么的,等待自动恢复; 5、系统再次重启,进入安装过程,大概需要3分钟。
6、最后当你看到这样一个画面的时候,就可以操作了; 7、按照提示进行电脑设置,稍等片刻系统就安装成功了。
3.如何用Dockerfile创建镜像
Dockerfile结构dockerfile由4部分信息组成:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令。
# This dockerfile uses the ubuntu image# VERSION 2 - EDITION 1# Author: docker_user# Command format: Instruction [arguments / command] ..# Base image to use, this must be set as the first lineFROM ubuntu# Maintainer: docker_user
MAINTAINER 指定镜像的作者,之后为镜像操作执行RUN、ADD等,最后是容器启动时发起的指令。Dockerfile中的指令FROM: 指定镜像名称,格式为FROM
前者将在 shell 终端中运行命令,即 /bin/sh -c;后者则使用 exec 执行。指定使用其它终端可以通过第二种方式实现,例如 RUN ["/bin/bash", "-c", "echo hello"]。
每条 RUN 指令将在当前镜像基础上执行指定命令,并提交为新的镜像。当命令较长时可以使用 \ 来换行。
CMD:支持三种格式 1.CMD ["executable","param1","param2"] 使用 exec 执行,推荐方式; 2.CMD command param1 param2 在 /bin/sh 中执行,提供给需要交互的应用; 3.CMD ["param1","param2"] 提供给 ENTRYPOINT 的默认参数;指定启动容器时执行的命令,每个 Dockerfile 只能有一条 CMD 命令。如果指定了多条命令,只有最后一条会被执行。
如果用户启动容器时候指定了运行的命令,则会覆盖掉 CMD 指定的命令。EXPOSE:格式为 EXPOSE [。
]。告诉 Docker 服务端容器暴露的端口号,供互联系统使用。
在启动容器时需要通过 -P,Docker 主机会自动分配一个端口转发到指定的端口。ENV:格式为 ENV
指定一个环境变量,会被后续 RUN 指令使用,并在容器运行时保持。这就对应程序语言中的变量定义,可在需要的时候引用。
例如:1234ENV PG_MAJOR 9.3ENV PG_VERSION 9.3.4RUN curl -SL /postgres-$PG_VERSION.tar.xz | tar -xJC /usr/src/postgress && …ENV PATH /usr/local/postgres-$PG_MAJOR/bin:$PATHADD:格式为 ADD
其中
复制本地主机的
COPY和ADD的不同就是:ADD多了自动解压和支持URL路径的功能。ENTRYPOINT:两种格式:ENTRYPOINT ["executable", "param1", "param2"]ENTRYPOINT command param1 param2(shell中执行)。
配置容器启动后执行的命令,并且不可被 docker run 提供的参数覆盖。每个 Dockerfile 中只能有一个 ENTRYPOINT,当指定多个时,只有最后一个起效。
CMD和ENTRYPOINT比较:两个命令都是只能使用一次,并且都是在执行docker run指令时运行,如果有多个,只执行最后一条。两者的不同在于参数的传递方式,如果在Dockerfile中定义如下指令1CMD echo hello或1ENTRYPOINT ["echo","hello"] 那么在运行命令docker run containerId echo hello时,指定了CMD的输入结果为world,可以看出Dockerfile中指定的命令被覆盖了,而指定了ENTRYPOINT时,输出结果为hello echo world,可以看出指定的命令被作为ENTRYPOINT指定指令的参数了。
VOLUME:格式为 VOLUME ["/data"]。创建一个可以从本地主机或其他容器挂载的挂载点,一般用来存放数据库和需要保持的数据等。
不过此属性在Dockerfile中指定并没有什么意义,因为没有办法指定本地主机的目录。如果需要指定挂载点可以在执行docker run命令时指定:1docker run -it -v /home/fengzheng/ftp/:/data 859666d51c6d /bin/bashUSER:格式为 USER daemon。
指定运行容器时的用户名或 UID,后续的 RUN 也会使用指定用户。当服务不需要管理员权限时,可以通过该命令指定运行用户。
并且可以在之前创建所需要的用户,例如:RUN groupadd -r postgres && useradd -r -g postgres postgres。要临时获取管理员权限可以使用 gosu,而不推荐 。
4.如何修改Windows上Docker的镜像源
对于已创建的Docker Machine实例,更换镜像源的方法如下
在windows命令行执行docker-machine ssh [machine-name]进入VM bash
sudo vi /var/lib/boot2docker/profile
在--label provider=virtualbox的下一行添加--registry-mirror 1
重启docker服务:sudo /etc/init.d/docker restart或者重启VM:exit退出VM bash,在windows命令行中执行docker-machine restart
5.docker怎么将宿主机系统生成镜像
初次安装部署好docker后,大多数镜像可以从DockerHub 提取,但是大多数人都希望自己可以完全自定义一个镜像,那么这里需要一个第三方工具 febootstrap epel6的源提供febootstrap的RPM包 yum install docker-io febootstrap -y service docker start chkconfig docker --level35 on复制代码 制作CentOS6.6镜像目录 febootstrap -i yum -i iputils -i iproute -i bash -i vim-minimal -i coreutils -i tar -i net-tools centos6 base " VOLUME /var/lib/mysql RUN yum install mysql-server mysql -y RUN echo -ne "NETWORKING=yes\\nHOSTNAME=mysql" > /etc/sysconfig/network RUN echo -ne "bind-address = 0.0.0.0\\ndefault-storage-engine=innodb\\ninnodb_file_per_table\\n\collation-server=utf8_general_ci\\ninit-connect='SET NAMES utf8'\\ncharacter-set-server = utf8" > insert RUN sed -i "/user=mysql/r insert" /etc/my.cnf && rm -f insert RUN echo -ne "/usr/bin/mysql_install_db\\n/usr/bin/mysqld_safe" >> /opt/mysql_start RUN chmod 777 /opt/mysql_start ENV PATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin: WORKDIR /opt EXPOSE 3306 CMD /bin/sh -c mysql_start复制代码 FROM 声明以centos:base镜像为基础 MAINTAINER 声明镜像的维护者信息 VOLUME 挂载本地目录到容器里/var/lib/mysql目录(这是mysql默认的数据保存目录) 由于我希望数据可以持久化防止因为容器误删除而丢失,所以映射到宿主本地目录 RUN 在镜像中执行安装mysql 在新镜像中写入HOSTNAME信息,因为mysql启动过程需要network文件 在my.cnf配置文件插入一些修改配置 创建启动脚本 声明环境变量 制定默认工作目录 EXPOSE 声明容器需要暴露的端口号 CMD 是指镜像生成容器后自动执行的命令,类似docker exec,这里是自动启动mysql服务 根据Dockerfile创建mysql服务镜像 docker build --rm=true -t mysql:frist . 查看镜像的树状关系可以发现,mysql:frist是以centos:base为父镜像。
6.如何给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重新启动Dockersudo systemctl restart docker验证是否生效执行如下命令:ps -ef | grep dockerd如果从结果中看到了配置的 --registry-mirror 参数说明配置成功。启动Docker,获取镜像执行如下命令启动Dockersystemctl start dockerDocker 运行容器前需要本地存在对应的镜像,如果镜像不存在本地,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。
转载请注明出处windows之家 » win10docker设置镜像