资讯专栏INFORMATION COLUMN

Ops.Docker-deepin环境下Docker的入门操作练习

kyanag / 2004人阅读

摘要:安装若按下方操作安装不成功请参考官方安装说明文档卸载以前版本安装与密钥管理与下载相关的工具下载并安装密钥查看密钥是否安装成功如果安装成功,会出现如下内容添加官方仓库更新仓库安装查看的文件,路

安装

若按下方操作安装不成功请参考官方安装说明文档

#卸载以前版本
sudo apt-get remove docker docker-engine 
#安装docker-ce与密钥管理与下载相关的工具
sudo apt-get install apt-transport-https ca-certificates curl python-software-properties software-properties-common
#下载并安装密钥
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
#查看密钥是否安装成功
sudo apt-key fingerprint 0EBFCD88
#如果安装成功,会出现如下内容:
#    pub   4096R/0EBFCD88 2017-02-22    Key fingerprint = 9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88  
#    uid     Docker Release (CE deb)   
#    sub   4096R/F273FCD8 2017-02-22

#添加docker官方仓库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian jessie stable"
#更新仓库
sudo apt-get update
#安装docker-ce
sudo apt-get install docker-ce
"""查看docker.service的unit文件,路径为/lib/systemd/system/docker.service"""
"""把ExecStart=/usr/bin/dockerd -H fd:// 修改为ExecStart=/usr/bin/dockerd"""

#启动docker
systemctl start docker
#更换国内docker加速器
#1.编辑/etc/docker/daemon.json文件,并输入docker-cn镜像源地址
sudo nano /etc/docker/daemon.json
#输入以下内容
{"registry-mirrors": ["https://registry.docker-cn.com"]}
#添加docker用户组
sudo groupadd docker
#将你自己{$user}加入docker用户组
sudo gpasswd -a ${USER} docker
#重启docker服务
sudo service docker restart
镜像(Image)
#查找Docker Hub上的redis镜像
docker search redis
#拉取官方的镜像
docker pull  redis:3.2
#显示本地已有的镜像
docker images
#用下载的镜像启动容器并进入容器交互
docker run -t -i training/sinatra /bin/bash
#提交更新后的副本
# -m 提交的说明信息
# -a 更新的用户信息
docker commit -m "Remark" -a "DockerUserInfo" {$CONTAINER_ID} ouruser/sinatra:v2
# 修改镜像的标签
docker tag {$CONTAINER_ID} ouruser/sinatra:devel
#导出镜像到本地文件
docker save -o ubuntu_14.04.tar ubuntu:14.04
#载入镜像
docker load --input ubuntu_14.04.tar
#上传镜像到 Docker Hub
docker push ouruser/sinatra
#移除镜像
docker rmi training/sinatra
容器(Container)
#启动容器
#-p 6379:6379 : 将容器的6379端口映射到主机的6379端口
#-v $PWD/data:/data : 将主机中当前目录下的data挂载到容器的/data
#redis-server --appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置
docker run -p 6379:6379 -v $PWD/data:/data  -d redis:3.2 redis-server --appendonly yes
#查看容器启动情况(-a 查看所有)
docker ps
#停止容器
docker stop {$CONTAINER_ID}
#启动容器
docker start {$CONTAINER_ID}
#重启容器
docker restart {$CONTAINER_ID}
#进入容器(ctrl-D 退出)
docker exec -it {$CONTAINER_ID} redis-cli
#彩色交互
docker exec -it my-container env TERM=xterm script -q -c "/bin/bash" /dev/null
#获取容器的输出信息
docker logs redis
#导出容器快照
docker export {$CONTAINER_ID} > ubuntu.tar
#导入容器快照
cat ubuntu.tar | docker import - test/ubuntu:v1.0

nginx

docker run -p 80:80 --name mynginx -v $PWD/www:/www -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf -v $PWD/logs:/wwwlogs  -d nginx
# -p 80:80:将容器的80端口映射到主机的80端口
# --name mynginx:将容器命名为mynginx
# -v $PWD/www:/www:将主机中当前目录下的www挂载到容器的/www
# -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:将主机中当前目录下的nginx.conf挂载到容器的/etc/nginx/nginx.conf
# -v $PWD/logs:/wwwlogs:将主机中当前目录下的logs挂载到容器的/wwwlogs
仓库(Repository)
注册登录Docker Hub
#docker login
数据卷(Volume)
#创建一个 web 容器,并加载一个数据卷到容器的 /webapp 目录
docker run -d -P --name web -v /webapp training/webapp python app.py

#创建一个命名的数据卷容器 dbdata
docker run -d -v /dbdata --name dbdata training/postgres echo Data-only container for postgres
#在其他容器中使用 --volumes-from 来挂载 dbdata 容器中的数据卷
docker run -d --volumes-from dbdata --name db1 training/postgres
docker run -d --volumes-from dbdata --name db2 training/postgres

#备份
# 标记来创建一个加载 dbdata 容器卷的容器,并从本地主机挂载当前到容器的 /backup 目录
docker run --volumes-from dbdata -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata

#恢复迁移
# 创建一个带有数据卷的容器 dbdata2
docker run -v /dbdata --name dbdata2 ubuntu /bin/bash
# 创建另一个容器,挂载 dbdata2 的容器,并使用 untar 解压备份文件到挂载的容器卷中
docker run --volumes-from dbdata2 -v $(pwd):/backup busybox tar xvf
/backup/backup.tar
Docker Compose
#安装
sudo pip install -U docker-compose
DockerFile
#时区设置
ENV TZ=America/Los_Angeles
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
#支持中文
RUN locale-gen zh_CN.UTF-8 &&
  DEBIAN_FRONTEND=noninteractive dpkg-reconfigure locales
RUN locale-gen zh_CN.UTF-8  
ENV LANG zh_CN.UTF-8  
ENV LANGUAGE zh_CN:zh  
ENV LC_ALL zh_CN.UTF-8  

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/28034.html

相关文章

  • 使用docker-compose安装pure-ftp

    摘要:安装目的本文是用部署项目的第一篇用于管理独立于容器之外的数据文件,建议安装到开发环境和测试环境并对程序员开放权限安装简单,建议作为第一个服务进行练习前置条件学习从入门到实践测试环境建议为专业版和,其它环境本人未测试已在服务器上安装和安 安装目的 本文是《用docker部署WEB项目》的第一篇 pure-ftp用于管理独立于doker容器之外的数据文件,建议安装到开发环境和测试环境并对...

    solocoder 评论0 收藏0
  • 在Kubernetes上运行SAP UI5应用(上)

    摘要:在上海研究院的同事们如果想参加这个内部培训,可以联系同事。第三行命名执行命令,生成新的镜像文件。说句题外话虽然今年月份被微软收购了,但是用户体验一点也没变,一如既往的优秀。关于更多另类用法,请参阅的文章写在被微软收购之际的那些另类用法。 2018年只剩最后30天了。Jerry在2017年的最后一天,曾经立下一个目标:这个微信公众号在2018年保证至少每周发布一篇SAP原创技术文章。 从...

    acrazing 评论0 收藏0
  • 在Kubernetes上运行SAP UI5应用(上)

    摘要:在上海研究院的同事们如果想参加这个内部培训,可以联系同事。第三行命名执行命令,生成新的镜像文件。说句题外话虽然今年月份被微软收购了,但是用户体验一点也没变,一如既往的优秀。关于更多另类用法,请参阅的文章写在被微软收购之际的那些另类用法。 2018年只剩最后30天了。Jerry在2017年的最后一天,曾经立下一个目标:这个微信公众号在2018年保证至少每周发布一篇SAP原创技术文章。 从...

    张红新 评论0 收藏0
  • dockeralpine类镜像上安装LNMP服务

    摘要:安装目的本文是用部署项目的第二篇是官方推荐的发行版,基于它制作,文件体积会小很多和常用的等相比还是会有一些区别,所以需要通过今天的练习进行一些了解。安装完成现在我们已经熟悉了,接下来我会练习用完成今天的工作,制作第一个自己的镜像。 安装目的 本文是《用docker部署WEB项目》的第二篇 alpine是docker官方推荐的linux发行版,基于它制作docker,文件体积会小很多 ...

    itvincent 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<