1. 程式人生 > >docker學習-07Docker直接命令安裝相關軟體

docker學習-07Docker直接命令安裝相關軟體

總體步驟:
           搜尋映象 docker search 映象名字
           拉取映象 docker pull 映象名字
           檢視映象  docker images
           啟動映象  docker run -p 埠:埠 -d 映象名字:tag
           停止容器  docker stop 映象名字
           移除容器   docker rm  NAMES

安裝:

 1.直接命令新增  

      安裝tomcat:

1.docker pull tomcat #拉去

2.docker run -it -p 8089:8080 tomcat #啟動

3.docker exec -it  CONTAINER ID  /bin/bash #進入容器檢視容器中tomcat下的conf/logs/webapps所在路徑

4.拷貝容器webapps和logs/conf目錄到宿主主機中。

docker cp hopeful_chandrasekhar:/usr/local/tomcat/webapps /root/docker/data/tomcat
docker cp hopeful_chandrasekhar:/usr/local/tomcat/logs /root/docker/data/tomcat
docker cp hopeful_chandrasekhar:/usr/local/tomcat/conf /root/docker/data/tomcat

5.停止當前執行的tomcat docker stop tomcat

6.刪除tomcat   docker rm tomcat

7.重新啟動:
 docker run  -p 8088:8080 --name  tomcat  --privileged=true -v /root/docker/data/tomcat/webapps:/usr/local/tomcat/webapps -v /root/docker/data/tomcat/conf:/usr/local/tomcat/conf -v /root/docker/data/tomcat/logs:/usr/local/tomcat/logs -d tomcat:latest

    安裝mysql:

1.先在宿主機建立掛載目錄:mkdir -p /root/docker/data/mysql/{conf,logs,data}
2.拉去映象 docker pull mysql
3.檢視映象 docker images
4.執行  
docker run -p 3306:3306 --name mysql -v /root/docker/data/mysql/conf:/etc/mysql/conf.d -v /root/docker/data/mysql/logs:/logs -v /root/docker/data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d  mysql:5.6.40
5.遠端連線:報錯沒有許可權訪問。
配置外部ip訪問許可權
當前資料庫已經在容器中執行起來了,但外部依然無法訪問,因為需要配置外部ip的訪問許可權;
 
docker exec -it mysql /bin/bash
進入該容器,並配置mysql許可權
 
# 登陸mysql
mysql -uroot -p
# 進入以後use mysql資料庫:
mysql> use mysql;
 
# 新增root使用者可以遠端訪問 末尾password改為你的外部訪問密碼
mysql> grant all privileges on *.* to 'root'@'%' identified by 'password';
mysql> update `mysql`.`user` set `Grant_priv` = 'Y' where `user` = 'root';
mysql> delete from user where user='root' and host='localhost';
mysql> flush privileges; 

  安裝redis:

1.先在宿主機建立掛載目錄:mkdir -p /root/docker/data/myredis/data
                        mkdir -p /root/docker/data/myredis/conf/redis.conf
2.拉去映象 docker pull redis
3.檢視映象 docker images
4.在/root/docker/data/myredis/conf/redis.conf 建立redis.conf檔案,可以下載一個新的redis安裝檔案,將檔案中的redis.conf檔案進行調整放置到該目錄下。
5.啟動
docker run -p 6379:6379 -v /root/docker/data/myredis/data:/data -v /root/docker/data/myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf  -d redis:latest redis-server /usr/local/etc/redis/redis.conf --appendonly yes

  安裝nginx:

1.先在宿主機建立掛載目錄:mkdir -p /data/nginx/{conf,conf.d,html,logs}
2.在/data/nginx/conf/建立nginx.conf檔案
3.在/data/nginx/conf.d/default.conf
4.在/data/nginx/html/ 建立index.html
5.拉去映象 docker pull nginx
6.啟動
docker run \
  --name myNginx \
  -d -p 8088:80 \
  -v /data/nginx/html/:/usr/share/nginx/html \
  -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro \
  -v /data/nginx/conf.d/:/etc/nginx/conf.d \
  -v /data/nginx/logs/:/var/log/nginx/ \
  nginx

   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;
    #tcp_nopush     on;
 
    keepalive_timeout  65;
 
    #gzip  on;
 
    include /etc/nginx/conf.d/*.conf;
}

  default.conf:

server {
    listen       80;
    server_name  localhost;
 
    # rewrite ^(.*)$  https://www.vhxsl.com permanent;
 
    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;
    }
}