Docker之路
docker 安裝
Published in
2 min readNov 23, 2017
$brew cask install docker
查看docker版本
$ docker — version
images的創造or拉已建置好的image
- 現成的images
下載maria db images
$docker pull maiadb:latest
2.使用docker file 創造image
進入 dockerfile 更改 app source
COPY /專案名稱 (空格)/在container要放入的資料夾ex.
COPY /happyfit-course-server-develop /home
cd到擁有 dockerfile & 專案資料夾的路徑,創造image
$ docker build . -t image名稱ex.
$docker build . -t happyfit-course-server
image版本
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
查看所有的images
$docker images
建立container
$ docker run -dit -p port — name=container名稱 image名稱:image version /bin/bashex.
$ docker run -dit happyfit-course-server /bin/bashex.
$ docker run -dit -p 3306:3306 — name=db000 -e MYSQL_ROOT_PASSWORD=42691667 mariadb:20171103-GA**建議建立 db container 時先不加 /bin/bash,登入mysql時候容易出問題
第二次啟動container
$ docker start containerId前三碼ex.
$ docker start adf
進入container
$ docker attach containerId如果建立 container時沒有加 /bin/bash,使用
$ docker exec -it container名稱 /bin/bashex.
$ docker exec -it db000 /bin/bash
查看所有的container
$docker ps -a
db container登入mysql
mysql登入
$ mysql -uroot -p密碼
$ mysql -uroot -p42691667
停止 mysql or mariadb
$ brew services stop mariadb
$ mysql.server stop
$ service mysql stop
**更改設定部分在另一篇文章. 大小寫設定.中文設定
將本機的資料放入container中
$ cd /file path
$ tar -cv * | docker exec -i container名稱 tar x -C /要放入的路徑
docker container連線
1.創造兩個container
ex.
$ docker run -p 3001:3001 -dit — name=course_server server1 /bin/bash
$ docker run -p 3306:3306 -dit — name=db000 -e MYSQL_ROOT_PASSWORD=42691667 mysql
2.查看container ip
$ docker network inspect bridge
bridge 是docker預設的 如果有自己建立網路可以改成自己的網路名稱
3.進到container中
#apt-get update
#apt-get install vim
4.進到mysql container中創造db
5.將db中config檔中host改成mysql的ip
password改成當初創造container時的密碼
ex:
假設上例 mysql image創造出來的container ip 為 172.17.0.3
password 為 42691667
7.migrate table
push image
安裝 aws cli
$ brew install awscli
點選create Repositories
照著push command操作
第一步如果無法產生
輸入 $aws config 可以修改 Access Key ID & Secret Access Keys找不到Secret Access Keys點選 My Security Credentials → Access keys (access key ID and secret access key) → create new Ac-cess Keys
Author : Tom Hsieh (tom@appmaster.cc)