docker的安装与使用
docker安装-ubuntu
1 2 3 4
| sudo wget -qO- https://get.docker.com | sh
sudo usermod -aG docker kcyln
|
docker命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| docker info
docker pull
docker build
docker run
docker images
docker ps
docker ps -a
docker stop sdai3nf
docker rm ef87fse8 cf045930cd83
docker rmi fd8efke
docker cp
docker commit
|
1 2 3 4 5 6 7 8 9 10 11
| docker run ubuntu echo hello docker
docker run -p -d 8080:80 nginx
docker cp index.html cf045930cd83://usr/share/nginx/html
docker commit -m "hello" cf045930cd83 hello
docker exec -it nginx /bin/bash
|
dockerfile 编写
- 基本命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| FROM
RUN
ADD
COPY
CMD
EXPOSE
WORKDIR
MAINTAINER
ENV
ENTRYPOINT
USER
VOLUME
|
- 示例一
1 2 3 4 5
| FROM alpine:latest
MAINTAINER kcyln // 容器作者
CMD echo 'hello docker'
|
运行命令创建镜像
1 2 3
| docker build -t hello .
docker run hello // 运行容器,输出内容
|
- 示例二
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| FROM ubuntu
MAINTAINER kcyln
RUN sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
RUN apt-get update
RUN apt-get install -y nginx
COPY index.html /var/www/html
ENTRYPOINT ["/usr/sbin/nginx", "-g", "daemon off;"]
EXPOSE 80
|
运行命令创建镜像
1 2 3 4 5
| docker build -t hello .
docker run -d -p 8080:80 hello
curl http://localhost:8080
|
VOLUME
1 2 3 4 5 6 7 8 9 10 11
| docker run -v /usr/share/nginx/html nginx // 挂载卷
docker inspect nginx // 查看信息, 可以看到挂载卷宿主机的路径
docker run -v $PWD/code:/usr/share/nginx/html nginx // 挂载卷
docker create -v $PWD/data:/var/mydata --name data_container ubuntu // 创建一个用来提供数据的容器
docker run --volumes-from data_container ubuntu // 新的容器从data_container里加载数据
docker run -it --volumes-from data_container ubuntu /bin.bash // 创建后可以直接进入容器内
|
registry
1 2 3 4 5
| docker search ubuntu
docker pull ubuntu
docker push myname/ubuntu
|
- dockerhub
- daocloud
- 时速云
- aliyun
1 2 3 4 5 6 7 8 9 10 11
| docker search whalesay
docker pull whalesay
docker run whalesay cowsay haha
docker tag whalesay myname/whalesay
docker login
docker push myname/whalesay
|
docker-compose
官方文档 : https://docs.docker.com/compose/
下载地址: https://github.com/docker/compose/releases
完整命令:
1
| curl -L https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose
|
1 2 3 4 5 6 7 8 9 10 11 12 13
| chmod a+x /usr/local/bin/docker-compose // 给所有用户授权执行
docker-compose --version // 查看版本
docker-compose build // 构建镜像
docker-compose up -d // 启动容器
docker-compose stop // 停止容器
docker-compose rm // 删除容器
docker-compose ps
|
示例: https://github.com/kcyln/ghostapp_demo_docker-compose
文档
docker mysql https://github.com/docker-library/docs/tree/master/mysql/