install
sudo apt-get update
sudo apt-get intall docker.io
sudo service docker start
检查Docker安装是否成功
sudo docker run hello-world
sudo权限
- sudo usermod -aG docker username
搭建WordPress个人博客
- docker run –name db –env MYSQL_ROOT_PASSWORD=example -d mariadb
- docker run –name MyWordPress –link db:mysql -p 8080:80 -d wordpress
搭建gitlab服务
https://github.com/sameersbn/docker-gitlab
- 启动postgresql
1 | docker run --name gitlab-postgresql -d \ |
- 启动redis
docker run --name gitlab-redis -d sameersbn/redis:latest
- 启动redis
- 启动gitlab
1 | docker run --name gitlab -d \ |
docker基础
- 查询镜像
docker search <string>
- 下载镜像
docker pull learn/turorial
记得使用全名 - 创建并启动容器
docker run learn/turorial echo "hello world"
- 修改容器
docker run learn/tutorial apt-get install -y ping
在非交互模式下安装软件包,要使用 -y - 创建新镜像,使用
docker ps -l
找到安装过ping包的容器的ID号,然后把这个容器提交为新镜像。
使用docker commit <ID> learn/ping
把容器提交为新镜像 - 使用新镜像
docker run learn/ping ping www.docker.com
- 查询容器信息,使用
docker ps
能够查询本机上所有正在运行的容器,使用docker inspect <ID>
可以看到单个容器详细信息,使用容器ID的前3~4个字符来指定 - 把新镜像上传仓库,先执行
docker images
查看本机的镜像列表,执行docker push learn/ping
把镜像推送到Docker官方仓库
Docker容器管理
单一容器管理
- 查询完整的CONTAINER ID
docker ps --no-trunc
- 通过CONTAINER ID查询容器的状态
docker ps -a | grep 0ee2433coi
- 停止容器
docker stop 009oljo902
- 启动容器
docker start 0u0ljou0j
- 创建容器时,使用 –name 参数给容器起一个别名
- 使用
docker inspect -f {{.State.Startus}} MyWordPress
提取信息 - 使用
docker logs
查询日志 - Docker提供了原生的方式支持登入容器 docker exec,使用形式
docker exec+容器名 + 容器执行的命令
例子:docker exec MyWordPress ps aux
如果希望执行多个命令,使用docker exec -it MyWordPress /bin/bash
相当于以root身份登入容器 - 删除容器
docker rm MyWordPress db
多容器管理
- Docker提供一个容器编排工具——Docker Compose,根据配置模板中的“–link”等参数,对启动的优先级自动排序,执行
docker-compose up
就可以把同一个服务中的多个容器依次创建和启动
1 | wordpress: |
- 启动
docker-compose start
- 停止
docker-compose stop
Docker镜像管理
Dockerfile
docker build -t image_redis:v1.0
-t用来取名字
Docker仓库管理
docker login
docker push ubuntu-baseimage:1.0
docker pull centos