跳至主要內容

[docker] 基本操作

設定檔路徑
nginx 的設定檔名為 ngix.conf,會依據安裝方式導致被放置的路徑不同,可以透過 nginx -t 來查詢
docker network create --subnet=172.19.0.0/16 --opt "com.docker.network.bridge.name"="docker1"  docker1
--opt com.docker.network.bridge.enable_icc=false  未懂
第一個 docker1 為 ipconfig -a 顯示的 若不使用 opt 則會顯示 br-110eb56a0b22 不好理解
第二個 docker1 為 docker network list 顯示的
Docker container networking
得知該 network 下的所有 image
docker network inspect bridge機指定網卡的方法
绑定Dokcer容器到主

–net mynet123 –ip 172.18.0.22
–add-host=server-name:127.0.0.1

--hostname to specify a hostname
--add-host to add more entries to /etc/hosts

assign a static IP to a docker container
# default start

docker run -dit --restart unless-stopped
docker update --restart unless-stopped CONTAINER_NAME

https://www.digitalocean.com/community/questions/how-to-start-docker-containers-automatically-after-a-reboot
# elasticsearch (64bit)

 docker run -p 9200:9200 -p 9300:9300 -p 9400:9400 --name elasticsearch_slave1 -e "discovery.type=single-node" -d docker.elastic.co/elasticsearch/elasticsearch:5.5.3
PS: conf:/usr/share/elasticsearch/config/elasticsearch.yml

docker run -p 9200:9200 -p 9600:9600 -e "discovery.type=single-node" amazon/opendistro-for-elasticsearch:1.1.0
Docker image
# wordpress
docker run --name wordpress -p 8080:8080 -e WORDPRESS_DB_HOST=10.1.2.3:3306 -e WORDPRESS_DB_NAME=blog-e WORDPRESS_DB_USER=... -e WORDPRESS_DB_PASSWORD=... -d wordpress
# postgres

docker run -d -p$PG_PORT:5432 --name=postgres9.6 -e POSTGRES_DB="cch" -e POSTGRES_USER="$PG_USER" -e POSTGRES_PASSWORD="$PG_PWD" -v "$PWD/pgdata":/var/lib/postgresql/dadta postgres:9.6
PS: 5432 為 port 固定不可改

# tomcat
docker run -it --rm -p 8080:8080 -d tomcat:8.0
# redis
docker run -p 6379:6379 -p 6380:6380 -p 6381:6381 -v $PWD/data:/data -d redis:3.2 redis-server --appendonly yes
# docker nginx
docker run -p 7777:80 --name webserver -d nginx
-c “while true;do date;sleep 1;done”
# oracle
docker run -d -p 1521:1521 --net bradynet --ip 172.19.0.111 --name oracle12 -it store/oracle/database-enterprise:12.2.0.1
#jenkins
docker run -d -p 8088:8080 -p 50000:50000 --net bradynet --ip 172.19.0.106 --name jenkins -v $PWD/jenkins_home:/var/jenkins_home jenkins/jenkins:lts
#ftp
docker run -d --name ftpd_server -p 23:21 -p 30010-30019:30010-30019 -e "FTP_PASSIVE_PORTS=30010:30019" -e FTP_USER_HOME=/home/miles -e FTP_USER_NAME=miles -e FTP_USER_PASS=123456 -e "PUBLICHOST=localhost" stilliard/pure-ftpd
https://mileslin.github.io/2020/02/%E4%BD%BF%E7%94%A8-Docker-%E5%BB%BA%E7%BD%AE-FTP-SFTP-%E7%92%B0%E5%A2%83/
https://kawsing.gitbook.io/opensystem/docker-cong-an-zhuang-dao-ying-yong-ru-men-pian/docekr-pureftp-fu-wu
#vsftpd
docker run -d --net=host -v /home/vsftpd/:/home/vsftpd -e FTP_USER=ftp -e FTP_PASS=ftp -e PASV_ADDRESS=<宿主機IP> -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 --name vsftpd fauria/vsftpd
https://iter01.com/565357.html

#redmine

docker run -d –name redmine -p 82:3000 –net bradynet –ip 172.19.0.122 -v $PWD/redmine:/usr/src/redmine/files –link mysql8.0:mysql redmine

https://ithelp.ithome.com.tw/articles/10211042

#samba
docker run -d --name ftpd_server -v /docker/FTP:/etc/pure-ftpd/passwd -v /docker/FTP:/home/ftpusers -p 2121:21 -p 30000-30009:30000-30009 -e "PUBLICHOST=localhost" stilliard/pure-ftpd:hardened
https://hub.docker.com/r/dperson/samba
https://kawsing.gitbook.io/opensystem/docker-cong-an-zhuang-dao-ying-yong-ru-men-pian/docekr-pureftp-fu-wu

# sql server
docker run --name ms2017 -p 1433:1433 -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=securty_password' -d mcr.microsoft.com/mssql/server:2017-latest
PS: 密碼長度要夠 否則會建不起來
sudo docker run --name docker-nginx -p 80:80 -d -v ~/docker-nginx/html:/usr/share/nginx/html nginx
run : 參數說明 or docker run –help 常用:
-i: 則讓容器的標準輸入保持打開
-t: 讓Docker分配一個虛擬終端(pseudo-tty)並綁定到容器的標準輸入上
-d: 背景執行
-e: 設定環境變數(AAA=BBB)
-p: Port 對應(host port:container port)
-v: 資料對應(host folder:container folder)
–name: 設定容器名稱
使用-d或-id參數:離開Container時該Container停止。
使用-td參數:離開Container時該Container繼續在背景。
建立或啟動容器
docker run -ti centos /bin/bash
docker run --name MyUbuntu -dt ubuntu

進入 CONTAINER
docker exec -it CONTAINER_ID bash
exec : 參數說明 or docker exec –help 常用:
-i:則讓容器的標準輸入保持打開
-t:讓Docker分配一個虛擬終端(pseudo-tty)並綁定到容器的標準輸入上
-e:設定環境變數(AAA=BBB)
# 複製到 container 裡
sudo docker cp /var/www/html/index.html CONTAINER_NAME:/usr/share/nginx/html
已執行的容器
docker ps
-a:顯示全部的容器
已下載的 image
docker image ls
CONTAINER ID:容器ID
IMAGE:映像檔名稱
COMMAND:執行指令
CREATED:創建時間
STATUS:容器狀態
POSTS:開啟的Port號
NAMES:容器名稱
start 建不起來時 看的日誌
docker logs CONTTAINER_NAME
容器開始
docker start CONTAINER_NAME
容器關閉
docker stop CONTAINER_NAME
出現容器已存在時 需先關閉容器
docker rm CONTAINER_NAME
離開 CONTAINER
exit

https://www.digitalocean.com/community/tutorials/how-to-run-nginx-in-a-docker-container-on-ubuntu-14-04
https://ithelp.ithome.com.tw/articles/10199339
https://blog.hellojcc.tw/2015/12/07/nginx-beginner-tutorial/
https://oranwind.org/-node-js-ubuntu-shang-nginx-an-zhuang-yu-she-ding/
https://ithelp.ithome.com.tw/articles/10199339

分類:docker
由 Compete Themes 設計的 Author 佈景主題