系统环境
$ lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: CentOS Description: CentOS Linux release 8.2.2004 (Core) Release: 8.2.2004 Codename: Core
|
Linux搭建Docker环境
$ yum install -y yum-utils device-mapper-persistent-data lvm2
$ curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
|
$ yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
|
$ yum makecache fast $ yum -y install docker-ce
|
$ tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://kqh8****.mirror.aliyuncs.com"] } EOF
|
$ systemctl daemon-reload
|
$ systemctl restart docker
|
docker中安装Nginx并部署静态文件
$ docker pull nginx:latest
|
$ docker run --name nginx-test -p 8080:80 -d nginx
|
运行完之后可以在浏览器地址栏输入http://<ECS公网地址>:8080访问Nginx服务
我们往往希望自己定制nginx的配置,这时候需要将nginx的配置挪出来。
$ docker container cp nginx-test:/etc/nginx .
|
执行完成后,当前目录应该多出一个nginx子目录。然后,把这个子目录改名为conf。
然后在conf目录下的配置文件中就可以对nginx进行配置了。同样,对于log日志和静态文件也可以自定义。
在conf同级目录下执行下列命令。
然后我们将静态文件放入www文件夹中。因为我们改了配置,所以需要重启nginx。
$ docker stop nginx-test
$ docker run -d \ -p 80:80 \ -p 443:443 \ --rm -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf \ -v $PWD/logs:/var/log/nginx \ -v $PWD/www:/usr/share/nginx/html \ -v $PWD/conf/cert:/etc/nginx/cert \ -v $PWD/conf/cert:/etc/nginx/conf.d/cert \ --name my_nginx nginx
docker run --name nginx -p 443:443 -p 80:80 -v /home/nginx/html:/usr/share/nginx/html -v /home/nginx/config/nginx.conf:/etc/nginx/nginx.conf/ -v /home/nginx/logs:/var/log/nginx/ -v /home/nginx/ssl:/etc/nginx/ssl/ --privileged=true -d --restart=always nginx
|
这时候再去访问8080端口,就可以看到放在www文件夹中静态文件输出的内容了。
docker上安装node.js
$ docker search node
$ docker pull node:latest
$ docker run -itd --name node-test node
$ docker exec -it node-test /bin/bash
|
STDIN 通常和 STDOUT 、STDERR 一起出现,他们是终端的标准输入(standard input)、标准输出(standard output)和标准错误输出(standard error)。当linux开始执行程序的时候,程序默认会打开这3个文件流,这样就可以对终端进行输入输出操作。
docker安装MySQL
$ docker search mysql
$ docker pull mysql:latest
$ docker images
$ docker run --name mysqlserver \ -v $PWD/conf:/etc/mysql/conf.d \ -v $PWD/logs:/logs \ -v $PWD/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=123456 \ -d -i -p 3306:3306 mysql:latest
$ docker exec -it mysqlserver bash
|
参考
Nginx 容器教程
快速搭建Docker环境
使用docker安装mysql并连接
linux下的stdin,stdout和stderr理解