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 logindocker push ubuntu-baseimage:1.0docker pull centos