一、 安裝linux(完整)
目前為止docker hub 還是被封著,用阿里云、騰訊云鏡像找一找版本直接查就行
默認使用latest最新版
#:latest 可以不寫
docker pull centos:latest
# 拉取后查看 images
docker images
#給鏡像設置標簽
# docker tag [images的IMAGE_ID列的值] [名字:版本]
# 例如:docker tag 5d0da3dc9764 mycentos:V1# 復制鏡像
#docker commit -m= "描述信息" -a="作者" [要復制的images的IMAGE_ID列的值] [名字:版本]
# 例如
docker commit -m="test" -a="vace" 5d0da3dc9764 vace/centos:v1# 刪除image
#docker rmi [IMAGE_ID的值或者 名字:版本]
#例如
docker rmi 5d0da3dc9764
docker 啟動鏡像
# -i 交互
# -t 終端
# -d 可后臺運行
# --name 生成container 的名字
# docker run -itd --name="[自定義名字]" [image的id 或者鏡像名字:版本號]
# 例如
docker run -itd --name="testMyCentos" mycentos:V1
# 查看啟動的程序
docker ps
# 查看所有程序
docker ps -a#啟動的老三樣
# docker start [container的id或者name] 這里的id就不是image的id了,不是同一個東西喔
# 例如
docker start 6d6981426274
docker restart 6d6981426274
docker stop 6d6981426274
# 查看docker 的進程
docker top 6d6981426274
#查看docker 的底層信息
docker inspect 6d6981426274
#移除container
#docker rm [container的id或者name]
#例如
docker rm 6d6981426274
進入鏡像中
docker attach
# exec 的時候退出不會停止container 但attach會
docker exec
#進入后就是一個正常的系統啦
二、 安裝ubuntu(精簡)
# 拉image
docker pull ubuntu:latest
# 查詢
docker images
# 運行
docker run -itd --name myUbuntu ubuntu
#查容器
docker ps
三、 安裝nginx (精簡)
docker pull nginx:latest
docker images
# -d 可后臺運行
# -p 指定物理機端口號和容器端口號進行綁定 -P不指定端口號(默認)
docker run --name myNginx -p 8080:80 -d nginx
4. 安裝mysql
docker pull mysql:8.0.19
docker images
docker run -itd --name myMysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
進入容器添加用戶權限
# 進入容器
docker exec
#輸入密碼 MYSQL_ROOT_PASSWORD的值,這里是 123456
mysql -uroot -p
#進入mysql 創建用戶,外網可訪問
CREATE USER 'user'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%';
show grants for 'user'@'%';
FLUSH PRIVILEGES;
# 退mysql
exit;
# 退容器
exit;
5. 網絡連接
創建網絡連接可以允許容器間的互相通信
docker network create -d bridge myNetwork# 創建network 連接
# 方法一
docker network connect myNetwork myMysql
docker network connect myNetwork myNginx
#重新啟動容器
docker restart myMysql
docker restart myNginx# 方法二 在創建容器的時候直接添加網絡 --network
#docker run -itd --name myMysql --network myNetwork -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
#docker run --name myNginx -p 8080:80 -d nginx
調試
進入其中一個容器
docker exec
apt-get update
apt-get install inetutils-ping
ping myNginx