多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 安装与使用 基本可以参考菜鸟教程的部分进行安装使用,这里分享一些其他的细节设置以及你安装中可能遇到的问题。 ## 基本安装过程(yum安装) ### 卸载旧版本 ```bash sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine ``` ### 安装相关的工具库 ``` sudo yum install -y yum-utils device-mapper-persistent-data lvm2 ``` ### 添加软件源信息 ```bash sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo // 返回 已加载插件:fastestmirror adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo grabbing file http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo repo saved to /etc/yum.repos.d/docker-ce.repo ``` ### 更新yum缓存 ``` sudo yum makecache fast // 返回 已加载插件:fastestmirror Loading mirror speeds from cached hostfile base | 3.6 kB 00:00:00 docker-ce-stable | 2.9 kB 00:00:00 epel | 3.2 kB 00:00:00 extras | 3.4 kB 00:00:00 updates | 3.4 kB 00:00:00 元数据缓存已建立 ``` ### 安装 ``` sudo yum -y install docker-ce // 返回 已安装: docker-ce.x86_64 0:18.06.1.ce-3.el7 作为依赖被安装: container-selinux.noarch 2:2.68-1.el7 完毕! // 查看是否安装成功 docker -v Docker version 18.06.1-ce, build e68fc7a ``` ### 启动服务 ``` sudo systemctl start docker ``` ### 测试运行hello-world 备注:由于本地没有这个,所以是从远程拉取的。如果你的信息提示拉取失败,那么你需要配置正确的淘宝镜像地址就可以了。 ``` docker run hello-world //正确返回 Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. ``` 说明:如果你遇到如下的错误,可能是你的镜像名称不对,或者是这个镜像需要提供登录的id才可以。 ``` pull access denied for hello-wrold, repository does not exist or may require 'docker login'. ``` ## 脚本安装(不推荐方式) 说明:在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,CentOS 系统上可以使用这套脚本安装:特点是安装非常简单。后续操作与yum安装是一样的,不再赘述。 ``` $ curl -fsSL get.docker.com -o get-docker.sh $ sudo sh get-docker.sh --mirror Aliyun ``` ## 用户 说明:一般情况下root用户和docker的用户组可以进行相关的docker的操作。一般我们不建议root用户直接用root的用户进行操作,所以我们需要设置一些必要的用户分组和添加对应的用户部分。 ### 添加用户组 ``` sudo groupadd docker // 如果用户组已经存在 返回 ; 如果存在,则没有任何提示,默认是添加成功的,失败会报错 groupadd:“docker”组已存在 usermod -aG docker $USER ``` 说明:具体的用户操作查询官网相关文档 ## 使用 ### 与服务相关的指令 | 指令 |作用 | |---|---| | docker pull training/webapp | 下载镜像 | | docker run -d -P training/webapp python app.py | 运行服务 | | docker ps | 查看服务,返回容器的列表,其中容器id是有用的 | | docker stop wizardly_chandrasekhar | 停止服务 | | docker start wizardly_chandrasekhar | 重启服务 | | docker rm wizardly_chandrasekhar | 移除服务(移除时,必须停止,否则会报错)| ### 查看日志 ``` runoob@runoob:~$ docker logs -f bf08b7f2cd89 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit) 192.168.239.1 - - [09/May/2016 16:30:37] "GET / HTTP/1.1" 200 - 192.168.239.1 - - [09/May/2016 16:30:37] "GET /favicon.ico HTTP/1.1" 404 - ``` ### 查看进程 docker top 可以查看容器内部运行的进程 ``` runoob@runoob:~$ docker top wizardly_chandrasekhar UID PID PPID ... TIME CMD root 23245 23228 ... 00:00:00 python app.py ``` ## 删除 ``` $ sudo yum remove docker-ce $ sudo rm -rf /var/lib/docker ``` ## 参考文档 - [菜鸟教程--docker安装](http://www.runoob.com/docker/centos-docker-install.html) - [dkcker常见问题汇总](https://yeasy.gitbooks.io/docker_practice/content/appendix/faq/)