amazon-linux 安装
1 2 3 4 5 6
| $ sudo amazon-linux-extras install docker
$ sudo service docker start
$ sudo sudo usermod -a -G docker ec2-user
|
Install Docker Engine on CentOS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| $ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
$ sudo yum install -y yum-utils
$ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
$ sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
$ sudo systemctl start docker
$ sudo docker run hello-world
$ sudo systemctl enable docker
|
常用命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| $ docker images
$ docker search nginx
$ docker pull nginx
$ docker pull nginx:latest
$ docker rmi nginx $ docker rmi nginx mysql $ docker rmi (docker images -qa)
$ docker run -p 80:80 --name nginx -d nginx
$ exit ctrl+P+Q
$ docker exec -it nginx bash
$ docker ps
$ docker inspect nginx $ docker update --restart = always 容器id
$ docker start nginx $ docker restart nginx $ docker stop nginx $ docker kill nginx
$ docker rm id $ docker rm -f $(docker ps -a -q)
|
NGINX
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
| $ mkdir -p config/conf.d logs www $ vim nginx.conf
user nginx; worker_processes 1;
error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid;
events { worker_connections 1024; }
http { include /etc/nginx/mime.types; default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
keepalive_timeout 65;
include /etc/nginx/conf.d/*.conf; }
$ vim config/conf.d/default.conf server { listen 80; server_name localhost;
location / { root /usr/share/nginx/html; index index.html index.htm; }
error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; }
}
$ docker run \ --name nginx \ -p 80:80 \ -p 443:443 \ -v /root/nginx/config/nginx.conf:/etc/nginx/nginx.conf \ -v /root/nginx/config/conf.d:/etc/nginx/conf.d \ -v /root/nginx/logs:/var/log/nginx \ -v /root/nginx/www:/usr/share/nginx \ -v /root/nginx/cer:/etc/nginx/cer \ -d nginx
$ docker run \ --name nginx \ --network=host \ --restart always \ -v /root/nginx/config/nginx.conf:/etc/nginx/nginx.conf \ -v /root/nginx/config/conf.d:/etc/nginx/conf.d \ -v /root/nginx/logs:/var/log/nginx \ -v /root/nginx/www:/usr/share/nginx \ -v /root/nginx/cer:/etc/nginx/cer \ -d nginx
|
Dockerfile
Python 项目:
./Dockerfile
1 2 3 4 5 6
| FROM python WORKDIR /server ADD . /server EXPOSE 9901 RUN pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ CMD python3 manage.py runserver 0.0.0.0:9901
|
docker build -t nginx:v3 .
build&run
1 2 3 4 5
| docker stop dj docker rm dj docker rmi $(docker images | grep django-scraper) echo $DOCKER_PASSWORD | docker login --username $DOCKER_USERNAME --password registry.cn-guangzhou.aliyuncs.com docker run -d -p 9902:9901 --name dj $image
|
删除旧的 image
1
| docker rmi $(docker images | grep django-scraper)
|
-f 指定 dockerfile
docker build -t tt-api:v1 -f Dockerfile-api .
docker-compose 文件配置
-
build
1 2 3 4
| version: '2' services: webapp: build: ./dir
|
或者
1 2 3 4 5 6 7 8
| version: '2' services: webapp: build: context: ./dir dockerfile: Dockerfile-alternate args: buildno: 1
|
docker-compose 命令
1 2 3 4 5 6 7 8 9 10 11
| $ sudo pip install docker-compose
$ docker-compose up
$ docker-compose -f server.yml up -d
$ docker-compose up -d
$ docker-compose up -d --build
|