docker学习笔记

75   /   0   /   0   /   0   /   发布于 2年前
现在docker分企业版和社区版,如果自己用的话,还是社区版吧!!! ### 安装: centos7: 1.卸载旧版本 ``` $ yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine ``` 2.安装依赖包: `$ yum install -y yum-utils device-mapper-persistent-data lvm2` 3.安装docker官方库: `$ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo` 4.安装最新稳定版本docker: `$ yum install docker-ce` 如果提示接受GPG密钥,请验证指纹是否匹配 `060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35`,如果匹配 ,则接受它。 ubuntu: ``` $ sudo apt-get update $ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg 'sudo pt-key add -' $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" $ sudo apt-get update ``` 其它发行版本的请参考:[官方文档](https://docs.docker.com/install/linux/docker-ce/ubuntu/#os-requirements) ### 配置: 1.Linux更改Docker运行根目录 Docker 的配置文件可以设置大部分的后台进程参数,在各个操作系统中的存放位置不一致: 在 ubuntu 中的位置是:/etc/default/docker 在 centos 中的位置是:/etc/sysconfig/docker 只需要更改 vim /etc/sysconfig/docker 成 为OPTIONS选项添加参数:–graph=/home/docker –icc=false –graph=/your/dir –icc=false禁用容器内部通信,为安全建议添加,内部通信使用link –graph=/your/dir 自定义运行目录 或者使用软件链接: `# ln -sv /home/docker/ /var/lib/docker` 搞定! 2.iptables设置: `# iptables -A INPUT -s 172.17.0.0/16 -d 172.17.0.0/16 -j ACCEPT` 命令: * 查找镜像:docker search centos * 下载镜像:docker pull centos * 列出本地镜像:docker images * 删除镜像:docker rmi 镜像名 * 运行容器:`# docker run -it --name 容器名 --link 链接容器名:别名 -v 本地绝对路径:容器路径 -p ip:本地端口:容器端口/udp --restart=always (docker服务启动后容器自动启动,no 不启动;on-failure 容器退出状态非0时重启)-e MYSQL_ROOT_PASSWORD='passwd'(设置环境变量) --dns=自定义的DNS -d(后台运行) 镜像 运行程序的命令(这里的程序可以是/bin/下的程序,可以将shell放到bin下)` * 列出运行容器:docker container ls * 列出所有容器:docker container ls -a * 运行容器:docker start 容器名(-i参数进入命令行) * 进入运行容器:docker exec -it 容器名 /bin/bash * 停止容器:docker stop 容器名 * kill容器:docker kill 容器名 * 删除容器:docker rm 容器名 * 查看容器信息:docker inspect 容器名 * 查看容器log:docker logs 容器名 * 利用已有容器修改或建立新的镜像:docker commit -m “说明信息” -a “用户信息” 容器名 centos7/nginx-php:v2 * 镜像存出:docker save -o ubuntu_14.04.tar ubuntu:14.04或docker save > ubuntu_14.04.tar ubuntu:14.04 * 镜像载入:docker load -i ubuntu_14.04.tar或docker load < ubuntu_14.04.tar * 容器导出:docker export ubuntu > ubuntu.tar * 容器导入:docker import ubuntu.tar test/ubuntu 注意: 容器导入后就成镜像了,如果容器有运行的命令,在run的时候也一定要加上命令,否则不能成功创建。 镜像就不存在这个问题 * 从主机复制到容器:docker cp host_path containerID:container_path * 从容器复制到主机:docker cp containerID:container_path host_path * 最后添加"运行命令"的shell里,如果没有驻留服务的话,一定要在最后一行写bash,否则无法启动。 ### docker网络设置: docker安装后,默认会创建三种网络类型,bridge、host和none,可通过如下命令查看: `# docker network ls` **bridge:网络桥接** 默认情况下启动、创建容器都是用该模式,所以每次docker容器重启时会按照顺序获取对应IP地址,这就导致容器每次重启,IP都发生变化,这种类型下无法设置固定IP **none:无指定网络** 启动容器时,可以通过-network=none,docker容器不会分配局域网ip **host:主机网络** docker容器的网络会附属在主机上,两者是互通的。这种类型下可以设置固定IP **创建固定ip容器:** 1.创建自定义网络类型,并且指定网段 `# docker network create --subnet=192.168.168.0/30 mynet` 通过docker network ls可以查看到网络类型中多了一个mynet 2.使用新的网络类型创建并启动容器 `# docker run -it --name test --net mynet --ip 192.168.168.2 centos /bin/bash` ### 存在问题: * docker-storage-setup不能启动的问题。 编辑/etc/sysconfig/docker-storage-setup文件 添加STORAGE_DRIVER=“overlay” * 容器启动自动运行 编辑/etc/bashrc文件 添加运行命令在文件最后
  • 共 0 条回复
  • 需要登录 后方可回复, 如果你还没有账号请点击这里注册
梦初醒 茅塞开
  • 不经他人苦,莫劝他人善。
  • 能量足,心态稳,温和坚定可以忍。
  • 辛苦决定不了收入,真正决定收入的只有一个,就是不可替代性。
  • 要么忙于生存,要么赶紧去死!
  • 内心强大到混蛋,比什么都好!
  • 规范流程比制定制度更重要!
  • 立志需要高远,但不能急功近利;
    行动需要迅速,却不可贪图速成。
  • 不要强求人品,要设计高效的机制。
  • 你弱的时候,身边都是鸡零狗碎;
    你强的时候,身边都是风和日丽。
  • 机制比人品更可靠,契约比感情更可靠。
  • 合作不意味着没有冲突,却是控制冲突的最好方法。
  • 误解是人生常态,理解本是稀缺的例外。
  • 成功和不成功之间,只差一次坚持!
  • 祁连卧北雪,大漠壮雄关。
  • 利益顺序,过程公开,机会均等,付出回报。