docker學習-07Docker直接命令安裝相關軟體
阿新 • • 發佈:2018-12-27
總體步驟:
搜尋映象 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;
}
}