docker images 查看本地鏡像php
docker ps -a 查詢容器html
docker ps -l 查詢最近使用容器mysql
docker rm CONTAINER_ID 刪除容器nginx
docker rmi IMAGE_ID 刪除鏡像golang
docker cp [OPTIONS] SRC_PATH CONTAINER_ID:DEST_PATH 上傳文件/文件夾web
docker start CONTAINER_ID 啓動容器redis
docker stop CONTAINER_ID 退出容器sql
docker kill CONTAINER_ID 強制退出容器docker
docker attach CONTAINER_ID 登陸已啓動容器數據庫
docker commit CONTAINER_ID xxxx/xxxxx[:xx] 保存對容器的修改
docker inspect CONTAINER_ID 查看容器的信息
ctrl+d 退出且關閉容器
ctrl+p,q 退出但不關閉容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS說明:
-a stdin: 指定標準輸入輸出內容類型,可選 STDIN/STDOUT/STDERR 三項;
-d: 後臺運行容器,並返回容器ID;
-i: 以交互模式運行容器,一般與 -t 同時使用;
-p: 端口映射,格式爲:主機(宿主)端口:容器端口
-t: 爲容器從新分配一個僞輸入終端,一般與 -i 同時使用;
--name="nginx-lb": 爲容器指定一個名稱;
--dns 8.8.8.8: 指定容器使用的DNS服務器,默認和宿主一致;
--dns-search example.com: 指定容器DNS搜索域名,默認和宿主一致;
-h "mars": 指定容器的hostname;
-e username="ritchie": 設置環境變量;
--env-file=[]: 從指定文件讀入環境變量;
--cpuset="0-2" or --cpuset="0,1,2": 綁定容器到指定CPU運行;
-m :設置容器使用內存最大值;
--net="bridge": 指定容器的網絡鏈接類型,支持 bridge/host/none/container:<name|id> 四種類型;
--link=[]: 添加連接到另外一個容器;
--expose=[]: 開放一個端口或一組端口;
docker run -it -p xxxx:xxxx xxx/xxx /bin/bash
docker rm 失敗 容器處於dead狀態:
根據docker rm失敗產生的最後一串由字母與數字組成的字符串s,在命令行中輸入grep [s]找到相關進程pid,而後kill [pid]。
最後再次grep [s],若是沒有相關進程顯示,便可以正常docker rm刪除容器。
docker run -it -p 8080:8080 docker.io/golang bash 根據golang鏡像產生一個新容器
docker run -it -p 8080:8080 -v /root/golang/go:/go -v /root/golang/code:/code --privileged docker.io/golang bash 把本地目錄映射到容器中
容器中的web應用監聽的是容器端口,不一樣容器能夠映射相同的容器端口,可是宿主機監聽端口不能重複。
docker配置redis服務:
docker pull redis
docker run -it -p 56379:6379 docker.io/redis /bin/bash
exit
dokcer ps -l
docker exec -d CONTAINER_ID redis-server
docker配置mysql服務:
docker run -e MYSQL_ROOT_PASSWORD=123456 -p 53306:3306 -d docker.io/mysql
若是發如今容器中能夠鏈接上數據庫,而Navicat 遠程鏈接docker容器中的mysql出現報錯1251 - Client does not support authentication protocol
解決辦法:https://blog.csdn.net/sinat_38345188/article/details/80838098
docker後臺運行go webapi:
docker start webapi1
docker start webapi2
docker exec -d webapi1 bash -c "cd ../code/main && go run *.go"
docker exec -d webapi2 bash -c "cd ../code/main && go run *.go"
docker配置nginx服務:
docker run -it -p 80:80 docker.io/nginx bash
cd etc/nginx
vim nginx.conf
在http段加入如下代碼
upstream 192.168.200.3
{
server 192.168.200.3:8081;
server 192.168.200.3:8082;
}
cd conf.d
在etc/nginx/conf.d中運行vim default.conf
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
root /usr/share/nginx/html;
index index.html index.htm;
proxy_pass http://192.168.200.3;
}
從新啓動nginx服務便可。